Excel VBA:自动将宏应用于单元格



我目前正在学习单元格的自动触发宏。我很好奇这是否可以适用于一系列单元格而不是 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

最新更新