Excel AllowediTunes功能失败
我有一个从Excel中删除允许编辑范围的函数,但我不断收到一个错误Excel AllowediTunes功能失败,excel,vba,Excel,Vba,我有一个从Excel中删除允许编辑范围的函数,但我不断收到一个错误,表明删除对象alloweditrange的方法失败了 Sub RemoveUserEditRange() Dim ws As Worksheet, rng As Range, aer As AllowEditRange Set ws = ThisWorkbook.Sheets("Protection") ws.Unprotect For Each aer In ws.Protection.Allo
,表明删除对象alloweditrange的方法失败了
Sub RemoveUserEditRange()
Dim ws As Worksheet, rng As Range, aer As AllowEditRange
Set ws = ThisWorkbook.Sheets("Protection")
ws.Unprotect
For Each aer In ws.Protection.AllowEditRanges
aer.Delete
Next
End Sub
尝试在循环之前选择图纸:
ws.Select
尝试在循环之前选择图纸:
ws.Select
你确定你有那个范围吗 试试这个
Sub RemoveUserEditRange()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Protection")
With ws
.Unprotect
With .Protection
If .AllowEditRanges.Count = 0 Then
MsgBox "Nothing to delete"
Else
'~~> Check if there is actually a range
Do While .AllowEditRanges.Count > 0
.AllowEditRanges(1).Delete
Loop
End If
End With
.Protect '<~~ ???
End With
End Sub
Sub-RemoveUserEditRange()
将ws设置为工作表
设置ws=ThisWorkbook.Sheets(“保护”)
与ws
.解除保护
有保护
如果.AllowEditRanges.Count=0,则
MsgBox“无需删除的内容”
其他的
“~~>检查是否确实存在范围
执行While.AllowEditRanges.Count>0
.AllowEditRanges(1)。删除
环
如果结束
以
.保护'你确定你有这个范围吗
试试这个
Sub RemoveUserEditRange()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Protection")
With ws
.Unprotect
With .Protection
If .AllowEditRanges.Count = 0 Then
MsgBox "Nothing to delete"
Else
'~~> Check if there is actually a range
Do While .AllowEditRanges.Count > 0
.AllowEditRanges(1).Delete
Loop
End If
End With
.Protect '<~~ ???
End With
End Sub
Sub-RemoveUserEditRange()
将ws设置为工作表
设置ws=ThisWorkbook.Sheets(“保护”)
与ws
.解除保护
有保护
如果.AllowEditRanges.Count=0,则
MsgBox“无需删除的内容”
其他的
“~~>检查是否确实存在范围
执行While.AllowEditRanges.Count>0
.AllowEditRanges(1)。删除
环
如果结束
以
.Protect“的确,该代码起了作用。我想我通过激活工作表解决了我的挑战。实际上,工作簿位于不同的工作表上,当我在运行代码之前重新激活工作表时。问题消失了。有趣的是,该工作表需要激活,非常不寻常。事实上,该代码工作正常。我想我通过激活工作表解决了我的挑战。实际上,工作簿位于不同的工作表上,当我在运行代码之前重新激活工作表时。问题消失了。有趣的是,这张表需要激活,非常不寻常。