我尝试运行私有子代码:
Private Sub Worksheet_Calculate()
Dim target As Range
Set target = Range("G3")
If Not Intersect(target, Range("G3")) Is Nothing Then
End If
End Sub
我从一张纸上拉出一个值并将其放在另一张纸上的另一个单元格中。我希望VBA在单元格自动更改时运行。当我尝试上面的代码时,我更新单元格时没有任何反应。
答案 0 :(得分:0)
从事物的声音来看,问题似乎是你试图将代码放在模块中,就像常规宏一样。要让它基于工作表事件运行,您需要在该工作表的代码窗口中拥有代码(在VBA窗口中,有" Microsoft Excel Objects"文件夹,在里面是工作表的列表,双击工作表以打开它的代码。
一旦您打开了工作表的代码,在窗口顶部就会看到两个下拉列表。左边的那个应该显示"(一般)"。在该下拉菜单中选择"工作表" (应该是唯一的选择)。
在右侧的下拉列表中,选择&#34;更改&#34;。然后,您需要验证Target是否是正确的单元格(If Target.Address = "$<Column letter>$<row #>"
)。在If语句中,您可以嵌套代码以将值复制到第二个工作表