Excel 如何添加VBA标签值?

Excel 如何添加VBA标签值?,excel,vba,Excel,Vba,我只是在MS Excel中使用VBA的初学者。我有1张表格和5个标签。让我们把它命名为Label1到Label5。我想得到Label1到Label4的值之和,并将其显示在Label5上 With UserForm1 Dim str As String str = Label5.Caption str = WorksheetFunction.Sum(.Label1.Caption, .Label2.Caption, _ .Label3.Caption, .La

我只是在MS Excel中使用VBA的初学者。我有1张表格和5个标签。让我们把它命名为Label1到Label5。我想得到Label1到Label4的值之和,并将其显示在Label5上

With UserForm1

   Dim str As String
   str = Label5.Caption
   str = WorksheetFunction.Sum(.Label1.Caption, .Label2.Caption, _
         .Label3.Caption, .Label4.Caption)
End With
这是我得到的代码,但它不起作用。请帮助我使用


.Label5.caption=Cdec(.Label1.caption)+Cdec(.Label2.caption)+Cdec(.Label3.caption)+Cdec(.Label4.caption)
它不起作用,因为你把
Sum
的结果放入
str
而不是
Label5

请注意,
String
变量不是对象,而是字符串值。因此,它没有引用
Label5.Caption
,而是
str=Label5.Caption
只是
Label5.Caption
的值复制到变量
str
(无引用)


你可以在下面看到我的答案。对于代码中不起作用的内容:您希望Label5是所有内容的总和,但是,现在,是str获取标签标题的总和
For str=.label5.caption
只需将label5 caption中的字符串赋给str变量,而不“重命名”。label5.caption的名称要短一些您使用
标签
有什么特别的原因吗?
TextBox
不是更好的方法吗?@Thryn您提供的代码工作正常,但当我将代码放在另一组标签上时,它出现错误,说它溢出了。@Zac在程序中我不需要用户输入。标签的值来自工作表单元格。@Kennethalellanoubaldo如果没有带
Clng
的浮点,则可以交替使用Long。你可以“锁定”文本框,这样用户就不能用Enable选项编辑它们了。啊,你说得对,我暗示它一开始就是整数。我不应该。让我编辑一下
With UserForm1
   .Label5.Caption = WorksheetFunction.Sum(.Label1.Caption, .Label2.Caption, .Label3.Caption, .Label4.Caption)
End With