【发布时间】:2017-06-20 09:40:45
【问题描述】:
我知道已经有一堆关于错误 1004 的线程,但是在挖掘它们之后,我没有发现类似于我的情况。我正在尝试使用我找到的信息here 和以下代码锁定除一系列单元格之外的工作簿:
If SecurityActive= "yes" Then
Worksheets("Invullen").Range("D7, D9, D11, D15, D17, D19, D23, J12, J14:J16").Locked = False
'INVULLEN
Worksheets("Invullen").Protect UserInterfaceOnly:=True
'AFDRUKKEN
Worksheets("Afdrukken").Protect UserInterfaceOnly:=True
'AFDRUKKENBEFR
Worksheets("AfdrukkenBEfr").Protect UserInterfaceOnly:=True
'BENL
Worksheets("BEnl").Protect UserInterfaceOnly:=True
'BEFR
Worksheets("BEfr").Protect UserInterfaceOnly:=True
'NL
Worksheets("NL").Protect UserInterfaceOnly:=True
'FR
Worksheets("FR").Protect UserInterfaceOnly:=True
'UK
Worksheets("UK").Protect UserInterfaceOnly:=True
'DE
Worksheets("DE").Protect UserInterfaceOnly:=True
'TECHNISCH
Worksheets("Technisch").Protect UserInterfaceOnly:=True
End If
SecurityActive 是我用来快速更改是否要保护工作簿的变量。该错误突出显示了代码的第二行。有没有人如何解决这个错误?
【问题讨论】:
-
您是否尝试过在保护工作表之后设置
.Locked状态? -
是的。它没有用。
-
您以错误的方式使用
.Range。例如。而不是.Range("D7, D9")使用Application.Union(.Range("D7"), .Range("D9"))。在帮助文件中阅读Range和Union。 -
您确定您的工作表名称中没有拼写错误吗?确切的错误信息是什么? @EganWolf 他的 Range 方法工作正常,这不是问题。
-
EganWolf 您的建议无效。当我只尝试解锁一个单元格时,我的代码返回相同的错误,所以这不应该是问题。 @Peh 我确定工作表名称中没有拼写错误。确切的错误消息是:
Fout 1004 tijdens uitvoering: Door de toepassing of door object gedefinieerde fout翻译成类似这样的内容:Runtime error 1004: Error defined by the application or the object虽然这不是准确的翻译。