在 Excel 2007 的 VBA 中,我想将文本框添加到活动工作表并将其公式设置为单元格。我的问题是AddTextbox
函数返回一个具有类型名的对象Shape
, not TextBox
,所以它没有Formula
要设置的属性。相反,我最终循环遍历所有文本框以找到正确的文本框,然后设置其Formula
。有一个更好的方法吗?
Sub insertTextBoxWithFormula()
Set newTextBox = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 200, 200, 150, 150)
newTextBox.Name = "New TextBox"
'newTextBox.Formula = "=$A$1" 'This is what I wanted to do
'This is what I did instead
For Each CurrentTextBox In ActiveSheet.TextBoxes
If CurrentTextBox.Name = "New TextBox" Then
CurrentTextBox.Formula = "=B3"
CurrentTextBox.Name = "Finished TextBox"
End If
Next CurrentTextBox
End Sub
您可以使用控件的名称对 TextBoxes 集合进行索引。所以你的例子可以缩写为:
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 200, 200, 150, 150).Name = "New TextBox"
ActiveSheet.TextBoxes("New TextBox").Formula = "=$B$3"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)