我知道有很多问题和答案,但我对VBA中的编程知识非常基础,而且我的工作时间很令人沮丧。
我有一张包含1000行员工的工作表,每行都以其经理的名字开头。即,列A具有管理者名称,列B,C,D等具有其他信息。
我当前的宏查看单元格 J1 中的文本,并将其与A列中的文本进行比较。 J1 使用“= worksheet1!A1”从另一个工作表填充打字。
Sub hiderows()
BeginRow = 2
EndRow = 1000
ChkCol = 1
For RowCnt = BeginRow To EndRow
If Cells(RowCnt, ChkCol).Value = Cells(1, "J") Then
Cells(RowCnt, ChkCol).EntireRow.Hidden = False
Else
Cells(RowCnt, ChkCol).EntireRow.Hidden = True
End If
Next RowCnt
End Sub
我想要的是当 J1 的值发生变化时(即从Tim到Jake)自动运行。我找到了一些代码来做到这一点,但我无法让它工作。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Target.Worksheet.Range("$J$1")) Is Nothing Then
Application.Run _
'your macro here
End If
End Sub
如何添加我的宏?我将End Sub保留在我的,所以有两个End Subs?我的宏存储在Module1
中的同一个excel书中将这些结合到一个可行的帮助中的任何帮助都会很棒,我会把头发拉出来......
答案 0 :(得分:1)
这应该可以解决问题:
.jade