VBA数组:把sheet2中的数据赋值给数组arr,然后在sheet1中实现循环调用:
下面代码实现不了,请指点,如何修改PrivateSubWorksheet_Change(ByValTargetAsRange)arr=Sheets("Sheet2").R...
下面代码实现不了,请指点,如何修改Private Sub Worksheet_Change(ByVal Target As Range) arr = Sheets("Sheet2").Range("A1:B20").Value For i = 1 To Sheets("Sheet2").Cells(Rows.Count, 1).End(3).Row For j = 1 To 2 If Cells(i, 1) = arr(i, 1) Then n = n + 1 Cells(i, 2) = arr(i, 2) End If Next NextEnd Sub
展开
1个回答
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
arr = Sheets("Sheet2").Range("A1:B20").Value
For i = 1 To Sheets("Sheet2").Cells(Rows.Count, 1).End(3).Row '当sheet2a列数据超过20行时,会引发下标越界错误
For j = 1 To 2 '同样的事情重复两次,毫无意义
If Cells(i, 1) = arr(i, 1) Then
n = n + 1
Cells(i, 2) = arr(i, 2) '当if条件为真时,执行写入操作,将触发change事件,陷入无限循环
End If
Next
Next
End Sub
追问
会弹出错误提示
追答
本来就是错的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询