这并不像听起来那么简单(至少对我来说不是)。这是我的问题:
我有一张单页电子表格,首先按自定义表 (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