我目前正在学习单元格的自动触发宏。我很好奇这是否可以适用于一系列单元格而不是 1 x 1? 我的情况是:如果我在A列中的任何单元格中输入,"Hello"将出现在相应行的B列中。我的问题是,例如,如果我输入 A1(然后 B1 将显示"你好"(,然后我从 A1 拖动到 A10,如何使宏自动应用于 B2 -> B10?目前,我遇到了"运行时错误'13' - 类型不匹配"。
我目前的脚本:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
i = Target.Row
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If Target <> "" Then
Cells(i, 2) = "Hello"
Else
Cells(i, 2).ClearContents
End If
End If
End Sub
使用相对的偏移量,如果它是多个单元格,则遍历目标。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, r As Range
If Not Intersect(Target, Range("A:A")) Is Nothing Then
For Each r In Intersect(Target, Range("A:A")
If r <> "" Then
r.Offset(, 1).Value = "Hello"
Else
r.Offset(, 1).ClearContents
End If
Next r
End If
End Sub