我想在Excel中填充一系列单元格,当另一个单元格发生变化时。
我有一个宏,可以根据项目编号从另一个主工作簿(WB2)中检索客户详细信息。项目编号在WB1中作为列表。当用户从WB1中选择项目编号时,我需要使用客户详细信息填充H9:H15(在WB1中)范围内的单元格。我正在使用worksheet_change事件来触发它。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$15" Then
Call modInvoiceFiller.FillCustomerDetails
End If
End Sub
使用此代码,不会发生更新。如果我手动运行该过程,它将填写所需的详细信息。有人可以帮忙吗?
此致 帕布
答案 0 :(得分:1)
这对我来说很好。您确定宏是附加到正确的工作表而不是工作簿(或者更糟糕的是,在模块中)吗?
一种简单的方法是将其更改为:
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address
If Target.Address = "$A$15" Then
MsgBox "XX " & Target.Address
End If
End Sub
并确保在更改任何单元格时弹出一条消息(包括您应在if语句中检查的值),并确保在更改单元格A15时收到两条消息。
答案 1 :(得分:1)
要检查的几件事情: