在VBA中没有发生简单的情况
在Excel中,如果一个条件匹配,我想强加一个单元格为0,但如果不匹配,则可编辑。 我的情况是,另一个单元格的值= 1.这是我最小的示例VBA行:
If Range("B4").Value = 1 Then Range("C4").Value = 0
但即使B4设置为1,也没有任何事情发生! 这段代码中是否有缺less的东西? 谢谢!
使用要分析/更改的特定工作表来限定Range
对象。 这是VBA的最佳实践,并确保代码在您需要的特定位置上执行。
例如:
With Worksheets("Sheet1") If .Range("B4").Value = 1 Then .Range("C4").Value = 0 End With
要么
If Worksheets("mySheet").Range("B4").Value = 1 Then Worksheets("yourSheet").Range("C4").Value = 0 End If
你也必须参考表格。 例如,
If ActiveSheet.Range("B4").Value = 1 Then ActiveSheet.Range("C4").Value = 0
要查看您所指的工作表,请尝试以下操作:
Sub TestMe() If Range("B4").Value = 1 Then Range("C4").Value = 0 MsgBox (Range("B4").Parent.Name) End Sub