我是VBA新手,仍在学习。我试图完成的事情似乎很容易,但有困难。我需要编写一个宏,当某个日期(任何日期)输入到特定列的单元格中时,它会自动隐藏一行。当特定列单元格中输入日期时Excel宏自动隐藏行
E.g.数据记录在列A:F中。当“运送”日期输入到G2中时,第2行自动隐藏。
任何帮助将不胜感激。
谢谢。
MCJ
我是VBA新手,仍在学习。我试图完成的事情似乎很容易,但有困难。我需要编写一个宏,当某个日期(任何日期)输入到特定列的单元格中时,它会自动隐藏一行。当特定列单元格中输入日期时Excel宏自动隐藏行
E.g.数据记录在列A:F中。当“运送”日期输入到G2中时,第2行自动隐藏。
任何帮助将不胜感激。
谢谢。
MCJ
下面的VBA代码将隐藏相关联的行,如果在列“G”的小区零和当前日期之间编辑和改变为日期(数目):
Option Explicit
Private lastSelectedCell As Range
Private Sub Worksheet_Activate()
Set lastSelectedCell = Range("A1")
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' If the most recently selected cell was in column 6 ('G')
If (lastSelectedCell.Column = 6) Then
' If the previously selected cell was a date on or before today
If ((lastSelectedCell.Value <= Date) And (lastSelectedCell.Value > 0)) Then
' Hide the entire row
Rows(lastSelectedCell.Row).EntireRow.Hidden = True
End If
End If
Set lastSelectedCell = Target
End Sub
感谢您的快速响应。但它不起作用。说:“如果(lastSelectedCell.Column = 6)然后”= <对象变量或块变量未设置“我再次在这个新的,所以任何帮助非常感谢。 –
@MCJ'Worksheet_Activate()'方法需要运行以初始化'lastSelectedCell'变量。尝试保存并重新打开'.xlsm'文件,错误应该消失。 – VirtualMichael
灿你请添加一个代码示例? –