【发布时间】:2016-08-17 08:05:24
【问题描述】:
我遇到了一个奇怪的对象/用户定义的 1004 错误。也许我只是忽略了一些东西。
我希望实现一个与我在另一张工作表上使用过的代码非常相似的代码。工作表本质上是一个仪表板,用户使用的唯一单元格是活动表中的“b1”,因为这允许用户从下拉菜单中进行选择。更改后,信息应参考 ClientDB 表以找到正确的行,然后从中提取信息。
我之前使用过非常相似的代码,没有遇到任何问题。只是想知道是否有一些我可能忽略的东西?
这是我的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim DBWS As Worksheet, cws As Worksheet, sws As Worksheet
Dim aa As Integer, bb As Integer, cc As Integer, dd As Integer
Set DBWS = ActiveWorkbook.Sheets("ClientDB")
Set cws = ActiveWorkbook.Sheets("ClientBoard")
aa = DBWS.Columns("a").Find(what:=cws.Range("b1").Value, after:=DBWS.Range("a1")).Row
bb = Range("a" & aa).Row
'contact
Range("b3").Value = DBWS.Cells(bb, "H").Value
'number
Range("b4").Value = DBWS.Cells(bb, "I").Value
'email
Range("b5").Value = DBWS.Cells(bb, "J").Value
'等等..等等..等等..
额外说明:如果我运行错误处理程序来绕过 1004 错误,它最终会在几个错误处理程序周期后填充
任何帮助将不胜感激!
谢谢!
杰
【问题讨论】:
-
我建议修改为
Dim As Long, bb As Long只是为了确定,不一定要解决这个问题 -
我在线上遇到错误:aa = DBWS.Columns("a").Find(what:=cws.Range("b1").Value, after:=DBWS.Range ("a1")).行