Vba Excel形状错误
根据我找到的代码,我试图计算工作表中的形状数,但我得到了一个“溢出”错误。我使用的代码如下所示:Vba Excel形状错误,vba,excel,Vba,Excel,根据我找到的代码,我试图计算工作表中的形状数,但我得到了一个“溢出”错误。我使用的代码如下所示: Sub tst() Dim i As Integer i = Sheets("DB_AL").Shapes.count MsgBox i End Sub 我认为问题在于工作表中的形状数量 我也不知道如何删除它们。我还尝试使用找到的代码删除形状: 但我也得到了一个“超出范围”的错误 在这个阶段,我更感兴趣的是删除形状,因为这会使工作表不可用 有什么想法吗 溢出错误 在代码中,
Sub tst()
Dim i As Integer
i = Sheets("DB_AL").Shapes.count
MsgBox i
End Sub
我认为问题在于工作表中的形状数量
我也不知道如何删除它们。我还尝试使用找到的代码删除形状:
但我也得到了一个“超出范围”的错误
在这个阶段,我更感兴趣的是删除形状,因为这会使工作表不可用
有什么想法吗 溢出错误
在代码中,您试图获得形状的结果。将计数为整数
,您面临的问题是因为形状。计数
返回一个长
以下代码应按预期工作:
Sub tst()
Dim i As Long
i = Sheets("DB_AL").Shapes.count
MsgBox i
End Sub
删除工作表中的所有形状
当对每个
循环使用时,不需要声明对象,只需使用以下代码遍历所有形状即可:
Sub delShapes()
For Each shapeToDelete In ThisWorkbook.Sheets("DB_AL").Shapes
shapeToDelete.Delete
Next shapeToDelete
End Sub
溢出错误
在代码中,您试图获得形状的结果。将计数为整数
,您面临的问题是因为形状。计数
返回一个长
以下代码应按预期工作:
Sub tst()
Dim i As Long
i = Sheets("DB_AL").Shapes.count
MsgBox i
End Sub
删除工作表中的所有形状
当对每个
循环使用时,不需要声明对象,只需使用以下代码遍历所有形状即可:
Sub delShapes()
For Each shapeToDelete In ThisWorkbook.Sheets("DB_AL").Shapes
shapeToDelete.Delete
Next shapeToDelete
End Sub
溢出错误是因为您正在处理的数据对于您的变量来说太大了。您已将i定义为整数
,但Sheets(“DB_AL”).Shapes.count
返回一个长类型,这将引发错误。只要定义i,只要
就行了
要删除所有形状,请尝试:
ActiveSheet.DrawingObjects.Delete
溢出错误是因为您正在处理的数据对于您的变量来说太大了。您已将i定义为整数
,但Sheets(“DB_AL”).Shapes.count
返回一个长类型,这将引发错误。只要定义i,只要
就行了
要删除所有形状,请尝试:
ActiveSheet.DrawingObjects.Delete
溢流问题由Tricel解释
要删除形状,可以使用此代码
Sub delShapes()
Dim shape As shape, ws As Worksheet
Set ws = ThisWorkbook.Sheets("DB_AL")
For Each shape In ws.Shapes
shape.Delete
Next
End Sub
溢流问题由Tricel解释
要删除形状,可以使用此代码
Sub delShapes()
Dim shape As shape, ws As Worksheet
Set ws = ThisWorkbook.Sheets("DB_AL")
For Each shape In ws.Shapes
shape.Delete
Next
End Sub
请尝试以下代码:
Sub delShapes()
Dim i As Long
Dim x As Long
i = Sheets("DB_AL").Shapes.Count
For x = i To 1 Step -1
Sheets("DB_AL").Shapes(x).Delete
Next x
End Sub
请尝试以下代码:
Sub delShapes()
Dim i As Long
Dim x As Long
i = Sheets("DB_AL").Shapes.Count
For x = i To 1 Step -1
Sheets("DB_AL").Shapes(x).Delete
Next x
End Sub
您是否尝试对变量i使用长类型而不是整数?形状。计数返回一个长的。很好的一个。它适用于长:82555形状。你知道如何遍历它们吗?你有没有试着用一个长类型而不是整数作为变量i?形状。计数返回一个长的。很好的一个。它适用于长:82555形状。你知道如何遍历它们吗?我仍然发现你的delShapes代码有一个“超出范围”的错误:-(@Selrac你想删除什么形状?多少?在这个阶段,我想把它们全部删除really@Selrac你试过复制粘贴我的代码吗?我运行了它,一切正常。确保工作表的名称按照arunv的指定正确写入。“当你使用For Each循环时,你不需要声明对象”-在VBA中,应始终使用“Option Explicit”,并且还必须声明循环变量(无论如何,这是一个很好的做法)。VB.Net允许稍微宽松一点,但VBA不允许。我仍然会收到delShapes代码的“超出范围”错误:-(@Selrac你想删除什么形状?多少?在这个阶段,我想把它们全部删除really@Selrac你试过复制粘贴我的代码吗?我运行了它,一切正常。确保工作表的名称按照arunv的指定正确写入。“当你使用For Each循环时,你不需要声明对象”-在VBA中,应始终使用“Option Explicit”,并且还必须声明循环变量(无论如何,这是一个很好的做法)。VB.Net允许稍微宽松一点,但不允许VBA。我在这里得到一个超出范围的值,如果我尝试工作表(“DB_AL”)。形状(1).delete你完全正确。工作表受到了保护。删除保护解决了错误。谢谢。我花了几个小时讨论这个问题。我很高兴它有帮助。^^我在这里得到了一个超出范围的错误,如果我尝试工作表(“DB_AL”)。形状(1).delete您完全正确。该工作表已受保护。删除保护解决了错误。谢谢。我花了数小时讨论此问题。我很高兴它有所帮助。^^请验证您的工作表名称是否为“DB_AL”?或更改其工作表(“DB_AL”)。Shapes.count肯定有效。我认为名称“DB_AL”没有问题请验证工作簿中的工作表名称和代码中的工作表名称。当出现错误时,两者也应相同。突出显示哪一行?当我出现错误时,错误出现在“shape.Delete”行。代码运行一段时间后,我出现错误。准确的错误是“运行时错误”-2147024809(80070057)“:指定的错误超出范围。请验证您的工作表名称是否为“DB_AL”?或更改其工作表(“DB_AL”)。Shapes.count肯定有效。我认为名称“DB_AL”没有问题”请验证工作簿中的工作表名称和代码中的工作表名称。当出现错误时,两者也应相同。突出显示哪一行?当我出现错误时,错误出现在“shape.Delete”行。代码运行一段时间后,我出现错误。准确的错误是“运行时错误”-2147024809(80070057)“:指定的错误超出范围。是否确定这些答案都是形状?如果此处发布的所有答案均无效,是否确定要删除形状?是否确定这些答案都是形状?如果此处发布的所有答案均无效,是否确定要删除形状?