【问题标题】:How do I fix error 1004 in vba excel when trying to unlock some cells?尝试解锁某些单元格时,如何修复 vba excel 中的错误 1004?
【发布时间】: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"))。在帮助文件中阅读 RangeUnion
  • 您确定您的工作表名称中没有拼写错误吗?确切的错误信息是什么? @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 虽然这不是准确的翻译。

标签: vba excel locking


【解决方案1】:

在工作表仍受保护时尝试更改单元格属性时将引发运行时 1004。

用途:

Worksheets("Invullen").Unprotect
Worksheets("Invullen").Range("D7, D9, D11, D15, D17, D19, D23, J12, J14:J16").Locked = False
'... Other stuff
Worksheets("Invullen").Protect UserInterfaceOnly:=True

等等

自 Excel 2016 以来,运行时错误 1004 比 2010 年之前更具体。 使用保护它会抛出“1004 无法设置 Range 类的 Locked 属性。”

编辑:当地址范围内的一个或多个单元格是合并单元格时,也会引发此错误。

【讨论】:

  • 这会在同一段代码上返回相同的错误。
  • 嗯,奇怪。在这里完美运行。能否提供完整代码?
  • 查看编辑。它还在合并范围上出错。您需要引用整个合并范围。找到更广泛的答案here
  • 最好的方法是什么?有没有可以上传完整的excel表格的地方?
  • 效果很好!感谢您抽出宝贵时间帮助我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多