我正在使用VBA在Excel中创建WBS图。该图表将包含主工作表中的多个文本块。我使用宏创建了一个文本框。
我会多次使用此文本框。是否可以分配变量并重复使用它?
答案 0 :(得分:0)
如果你想要一个全局变量,将它放在模块的顶部,紧接着Option Explicit:Dim shp As Shape
然后试试这个:
Option Explicit
Dim shp As Shape
Sub getTextbox()
Dim myShapes As Shapes
Set myShapes = ThisWorkbook.Worksheets(1).Shapes
For Each shp In myShapes
If shp.Type = msoTextBox Then
Debug.Print shp.Name
Debug.Print shp.TextFrame.Characters.Text
shp.TextFrame.Characters.Text = "Hello World!"
'exit upon finding the right text box to
If shp.Name = "TextBox 2" Then
Exit For
End If
End If
Next
End Sub
Sub testName()
Debug.Print shp.Name
End Sub
您正在寻找包含可以在工作表上的许多内容的形状。然后测试每个以查看它是否是正确的类型。您也可以按名称进行测试。
然后运行子TestName,它仍然应该在内存中有文本框。