有一段用于Excel的代码不明白,请哪位大神可以帮我翻译一下这段话每一句的意思,谢谢!!

2024-11-08 03:05:20
推荐回答(1个)
回答1:

Private Sub Worksheet_Change(ByVal Target As Range)
'关闭事件自动触发机制
Application.EnableEvents = False   
'从现在开始,下面的任何一行代码都不会再次触发Change事件了。

'定义一个二维数组,第一维从0到0,第二维从0到3.
Dim arr(0, 3)

i = Target.Row    'i=被修改的单元格的行标

c = Target.Value  'c=被修改的单元格的值

'如果被修改的单元格Target的值="√",那么Range("a" & i)表示A列,i行,也就是被修改单元格同行的A列单元格.Resize扩展区域(1行,4列)
'比如Range("A1").Resize(1,4)就表示以A1单元格为起点,向下扩展1-1行,向右扩展4-1列,也就是A1:D1区域 = arr这个数组
If Target.Value = "√" Then Range("a" & i).Resize(1, 4) = arr

Target.Value = c   '将被修改单元格的值重新改为c变量存储的值。

Application.EnableEvents = True  '恢复事件自动触发机制

End Sub