如何在Excel 2013中的VBA代码中引用特定工作表
这非常有效,但我只希望它引用一张工作表,而不是工作簿中的每一张工作表如何在Excel 2013中的VBA代码中引用特定工作表,excel,vba,Excel,Vba,这非常有效,但我只希望它引用一张工作表,而不是工作簿中的每一张工作表 Private Sub Worksheet_Change() Dim LastRow As Long, c As Range Application.EnableEvents = False LastRow = Cells(Cells.Rows.Count, "AA120").End(xlUp).Row On Error Resume Next For Each c In Range("AA5:AA120" & L
Private Sub Worksheet_Change()
Dim LastRow As Long, c As Range
Application.EnableEvents = False
LastRow = Cells(Cells.Rows.Count, "AA120").End(xlUp).Row
On Error Resume Next
For Each c In Range("AA5:AA120" & LastRow)
If c.Value = "0" Then
c.EntireRow.Hidden = True
ElseIf c.Value > "0" Then
c.Activate
c.EntireRow.Hidden = False
End If
Next
On Error GoTo 0
Application.EnableEvents = True
End Sub
正如我所看到的,你只需要在一张纸上插入你想要的代码。右键单击图纸名称(选项卡)并选择“查看代码”,然后粘贴此代码。但是如果这在每张工作表上都运行,那么您还需要从“此工作簿”-->(Alt+F11)中删除代码并选择“此工作簿”,然后从中删除此代码。您必须使用
Private Sub Worksheet_Change(ByVal Target As Range)
相反。
根据great的说法,“事件及其过程声明是固定的。您不能更改事件过程的名称或参数列表。”(我没有Office系统来测试它)
您可以在工作表模块中插入您的
子项
,它只在该工作表上工作。不清楚您所说的“引用一张工作表而不是每张工作表”是什么意思。描述一下你觉得“奇怪”的情况:你做了什么,之后会发生什么?