|
遇到一问题未能解决,求助各位看一下,谢谢!
jy369 发表于 2013-10-11 12:45
,好!
烦请讲解一下每一行代码的注释,谢谢! - Private Sub Worksheet_Change(ByVal Target As Range) '工作表改变时间,当Worksheet发生改变时激活事件,并返回活动单元格变量Target 变量类型 为 单元格区域
- If Target.Column = 1 And Target.Count = 1 And Target.Row > 1 Then '如果 Target.Column=1 并且 Target.Count=1 并且 Target.Row>1 则执行
- With Sheets("S") '在 指定工作表S 执行一系列的语句
- ROW1 = .Range("A" & Rows.Count).End(xlUp).Row '返回A列最后一个非空单元格所在行的行号w
- ARR1 = .Range("A2:C" & ROW1) '把单元格区域 A2到C列ROW1 的内容赋值给 数组ARR1,也就是把S工作表的内容赋值到数组ARR1
- End With 'End 对应于 With Sheets("S")
- For I = 1 To UBound(ARR1) '开始循环,设定变量范围为I=1到UBound(ARR1) 其中 UBound 返回 ARR1数组的最大下标
- If Target.Value = ARR1(I, 1) Then '如果 Target.Value=ARR1(I,1) 则执行,也就是 活动单元格内容 与数组组ARR1的首列(规格)判断
- Target.Offset(0, 3) = ARR1(I, 2) '把 ARR1(I,2) 的值也就是 材料品名,写入活动单元格右偏移3列的单元格,也就是写入D列
- Target.Offset(0, 4) = ARR1(I, 3) '把 ARR1(I,3) 的值也就是 理论重量,写入活动单元格右偏移4列的单元格,也就是写入E列
- Exit For '退出 循环
- End If 'End IF
- Next I '下一个I,重新执行循环
- End If 'End IF
- End Sub 'End 事件
复制代码
|
|