【发布时间】:2022-04-14 16:26:17
【问题描述】:
我正在为 PowerPoint 中的特定幻灯片编写 VBA 脚本。在演示模式下,用户将在 5 个文本框中输入数值。我希望 TextBox6 自动填充 TextBox1-TextBox5 的总数。
我的问题是幻灯片不会自动更新。如果我停止演示模式并按下“查看代码”中的运行按钮,它将用总数更新幻灯片。当用户在演示模式下浏览幻灯片时,有没有办法发生这种情况?
Private Sub TextBoxesSum()
Dim Total As Double
Total = 0
If Len(TextBox1.Value) > 0# Then Total = Total + CDbl(TextBox1.Value)
If Len(TextBox2.Value) > 0# Then Total = Total + CDbl(TextBox2.Value)
If Len(TextBox3.Value) > 0# Then Total = Total + CDbl(TextBox3.Value)
If Len(TextBox4.Value) > 0# Then Total = Total + CDbl(TextBox4.Value)
If Len(TextBox5.Value) > 0# Then Total = Total + CDbl(TextBox5.Value)
TextBox6.Value = Total
TextBox6.Value = Format(TextBox6.Value, "Standard")
End Sub
Private Sub TextBox6_Change()
TextBoxesSum
End Sub
【问题讨论】:
-
您需要删除
TextBox6_Change()并为每个TextBox写入TextBox1_Change()..TextBox5_Change()事件,您只需在每个TextBoxesSum()中调用。 -
感谢您的回复。但是,我有点困惑你的评论。因此,如果我理解正确,脚本的顶部没问题,但我需要在开头的行进行更改:Private Sub TextBox6_Change。我是否简单地为文本框 1 - 5 编写? Private Sub Textbox1_Change() TextBoxesSum End Sub
-
是否有更简单的方法来添加 TextBox1-TextBox5 并将其显示在 TextBox6 中。我写道: Private Sub TextBox6_Sum() TextBox6 = Val(TextBox1.Text) + Val(TextBox2.Text) + Val(TextBox3.Text) + Val(TextBox4.Text) + Val(TextBox5.Text) End Sub 这返回正确的仅当您选择脚本并按下播放按钮时才会显示。有没有办法在代码中添加运行宏或其他东西? TIA
-
下面我的回答解决了你的问题吗?如果是这样,请考虑单击我的答案旁边的勾号,绿色。如果没有,请告知原因。
标签: vba textbox powerpoint