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 展开
 我来答
庆年工坊
2017-03-27 · 知道合伙人互联网行家
庆年工坊
知道合伙人互联网行家
采纳数:4233 获赞数:8928

向TA提问 私信TA
展开全部
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
追问
会弹出错误提示
追答
本来就是错的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式