Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不选择形状的情况下使用VBA更改Excel中的文本大小?_Vba_Excel - Fatal编程技术网

如何在不选择形状的情况下使用VBA更改Excel中的文本大小?

如何在不选择形状的情况下使用VBA更改Excel中的文本大小?,vba,excel,Vba,Excel,我正在尝试使用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

我正在尝试使用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
此代码使文本的大小增加,然后文本消失。问题是,当我运行此代码时,文本框被选中(它周围有一个框)。如何在不选择文本框/显示其周围的选择边框的情况下实现相同的目标

谢谢

正如@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

我找到了解决办法。我必须将文本框设置为形状变量,然后进行调整

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

删除此行:
ActiveSheet.Shapes.Range(数组(“textTowner”)。选择
?直接使用该对象。我的问题是,如果我尝试直接使用它,它似乎不起作用。谢谢,但我在发布之前尝试过,但它不起作用。我收到一个“对象不支持此属性或方法”错误,突出显示了“with.shaperage(1).TextFrame2.TextRange.Characters”。