隐藏超过 60 天的行

隐藏超过 60 天的行

这并不像听起来那么简单(至少对我来说不是)。这是我的问题:

我有一张单页电子表格,首先按自定义表 (In PROCESS、WIN、FUTURE) (col E) 排序,然后按日期 (col J) (从旧到新) 排序,剩下第二组行需要按日期 (从新到旧) 排序,然后任何超过 60 天的内容都需要隐藏。

我刚刚开始学习宏,还没有掌握所有的细节。我需要一个可以查看文本列(出价、未出价、亏损)的东西,然后按日期排序并隐藏超过 60 天的日期。

任何指导将不胜感激。

答案1

您的问题可以通过使用 VBA 宏来解决:

Private Sub CommandButton1_Click()

  Dim xRg As Range
    Dim xTxt As String
    Dim xCell As Range

    On Error Resume Next
      If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
      End If

    Set xRg = Application.InputBox("Please select range:", "Hide Selected Rows", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub

    Application.ScreenUpdating = False

    For Each xCell In xRg
        If xCell.Value < Now - 60 Then
            xCell.EntireRow.Hidden = True
        End If
    Next

End Sub

怎么运行的:

  • 开发者 TAB 命中然后留给它的是设计模式插入,单击它。
  • 从 Active X 类别中选择C命令按钮。

在此处输入图片描述

  • 在工作表上绘制命令按钮。
  • R右键单击命令按钮并从弹出菜单中点击绳索。
  • 寻找C并将其更改为Hide Rows,返回到工作表。
  • 现在,双击命令按钮打开 VB 编辑器。
  • C奥皮&显示的代码来自Row no 2 to 18

     Private Sub CommandButton1_Click()

     Copy code here

    End Sub

  • 年代将工作簿作为acro 已启用(.xlsm)并返回工作表。
  • 停用设计模式。
  • 最后双击命令按钮。
  • 使用输入框,选择所需的行并完成ķ,

在此处输入图片描述

在此处输入图片描述


在此处输入图片描述


此外,您可以使用此代码来取消隐藏那些隐藏的行。

   Private Sub CommandButton2_Click()
     Rows.EntireRow.Hidden = False
   End Sub

相关内容