如何在Excel中使用VBA更改文本大小而不select形状?

我正在尝试使用VBA在Excel中更改文本框中的文本大小。 我目前有以下代码:

ActiveSheet.Shapes.Range(Array("textEnemy")).Visible = True ActiveSheet.Shapes.Range(Array("textEnemy")).Select With Selection.ShapeRange(1).TextFrame2.TextRange.Characters .Text = msg For i = 1 To 15 .Font.Size = i * 10 Call WasteTime(50) Next End With ActiveSheet.Shapes.Range(Array("textEnemy")).Visible = False 

这段代码可以使文字大小增加,然后消失。 问题是,当我运行这个代码的文本框被选中(周围有一个盒子)。 我怎样才能达到相同的目标,而不select文本框/显示围绕它的select边框?

谢谢!

正如@findwindow所说:

 With ActiveSheet.Shapes.Range(Array("textEnemy")) .Visible = True With .ShapeRange(1).TextFrame2.TextRange.Characters .Text = msg For i = 1 To 15 .Font.Size = i * 10 Call WasteTime(50) Next End With .Visible = False End With 

我find了解决scheme。 我不得不将该文本框设置为一个形状variables,然后调整它。

 Sub Animate(playerCode As Integer) Dim i As Integer Dim msg As String Dim textBox As Shape msg = "HIT!" Set textBox = ActiveSheet.Shapes("textUser") 'Animate textbox textBox.Visible = True With textBox.TextFrame2.TextRange.Characters .Text = msg For i = 1 To 15 .Font.Size = i * 10 Call WasteTime(50) Next End With textBox.Visible = False End Sub