运行时错误-2147024809(80070057)指定的值超出形状范围

时间:2018-06-20 14:18:49

标签: excel-vba shapes textrange vba excel

这是我的代码,

If ActiveWorkbook.Sheets("About tool").Range("G1").Value = 1 Then
    ActiveWorkbook.Sheets("About tool").Range("G1").Value = 0

    With ActiveWorkbook.Sheets("About tool").Shapes("Rounded Rectangle 2").TextFrame2
        If .HasText Then
            .TextRange.Delete
            .TextRange.Text = "Unlock All"
        End If
    End With

ElseIf ActiveWorkbook.Sheets("About tool").Range("G1").Value = 0 Then
        ActiveWorkbook.Sheets("About this tool ").Range("G1").Value = 1

        With ActiveWorkbook.Sheets("About tool").Shapes("Rounded Rectangle 2").TextFrame2
            If .HasText Then
                .TextRange.Delete
                .TextRange.Text = "Lock All"
            End If
        End With    
End If

在ELSEIF部分,我收到一条错误消息,提示“运行时错误-2147024809(80070057)指定的值超出范围”。

在IF部分工作正常。它是相同的代码,只是更改了作为文本传递的字符串。

1 个答案:

答案 0 :(得分:0)

对不起,浪费您的时间来单击此问题。

就是这样,当工作表受到保护时,我试图编辑形状的文本。这是导致错误的原因。

应该更早阅读以下链接。

Microsoft Excel VBA - Run-Time Error '-2147024809 (80070057)'