【发布时间】:2014-11-08 04:30:24
【问题描述】:
我一直遇到这个问题。我有一个命令按钮可以更新某些单元格的值,但是当您单击该按钮时,该值不会更新。如果您然后单击工作表中的某个其他单元格,则该值最终会更新。我的代码如下所示:
Private Sub eight_Click()
Dim oldnum As String
If numset = False Then
oldnum = Range("F4").Value
Range("F4").Value = oldnum + "8"
Else
num1 = CLng(Range("F4").Value)
Range("F4").Value = "8"
numset = False
End If
End Sub
在 Excel for Mac 上 100% 发生在我身上,在 Excel 2010 for Windows 上偶尔会发生。
【问题讨论】:
-
你在哪里初始化
numset?或者它是在子外部声明的?这到底是为了什么? -
@user3925803 :由于您尚未初始化 numset,因此其值始终初始化为 EMPTY 并进入您的 IF 部分。您需要在 IF ELSE 开始之前设置 numset。我已经检查过了,F4 单元格中的值正在更新。
-
numset 实际上是 Module1.numset,但无论出于何种原因,它都可以在没有“Module1”的情况下工作。无论如何,代码运行良好,所有变量都保持正确的值并且输出正确,只是在我单击某个随机单元格之前不会更新 F4。顺便说一句,这是计算器应用程序上的数字 8 按钮。
-
我可以看看你的文件吗?还要添加数字是不是正确的方法?这会更贴切
Range("F4").Value = Val(oldnum) + 8假设oldnum有一个有效的数字 -
计算器上的 8 按钮不添加任何内容。它将 8 连接到当前显示的数字 (54 -> 548)
标签: excel cell auto-update vba