【问题标题】:how to select particular cells in excel using VBA?如何使用 VBA 在 excel 中选择特定单元格?
【发布时间】:2016-02-01 14:32:21
【问题描述】:

我试图选择单元格 B4 以及从 A 列到 Z 列以及第 10 行及以下的所有单元格,所以基本上是 A10:Z150。并试图在我保护床单之前解锁它。 现在我正在使用 Sheets("DR02").Range("B4", "A10:Z200").Locked = False 但它不起作用。它唯一解锁第 4 行上方的单元格,而不仅仅是单元格 B4。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    尝试使用:

      With Sheets("DR02")
        .Unprotect "password"
        .Range("B4,A10:Z200").Locked = False 
        .protect "password"
      End With
    

    或者(获取“A”列的最后一行):

    With Sheets("DR02")
     .Unprotect "password" 
     .Range("B4,A10:Z" & .Range("A" & .Rows.Count).End(xlUp).Row).Locked = False
     .protect "password"
    End With
    

    编辑

    从 cmets 看来,单元格 B4 与其他单元格合并,如果是这样,我们可以使用:

    With Sheets("DR02")
     .Unprotect "password"
      Union(.Range("B4").MergeArea, .Range("A10:Z" & .Range("A" & .Rows.Count).End(xlUp).Row)).Locked = False
     .Protect "password"
    End With
    

    【讨论】:

    • 它给了我以下错误无法设置范围类的锁定属性
    • @T.Patel,查看编辑,并将 password 更改为您的密码
    • 是的,我首先取消了工作表的保护。出于某种原因,“B4,A10:Z200”给了我“无法设置范围类的锁定属性”。并且 "B4","A10:Z200" 没有给我任何错误,但它只解锁了 4 以上的行。
    • 当我删除单元格 B4 时,一切正常。意味着它的一切都被锁定在第 10 行之上,这就是它应该是的。因此,当我将单元格 B4 添加到方程式时,不确定是什么导致了问题。
    • 所以你已经合并了单元格B4
    【解决方案2】:

    Union(Range("B4").MergeArea, Range("A10:Z" & Range("B" & Rows.Count).End(xlUp).Row)).Locked = False

    【讨论】:

      猜你喜欢
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      相关资源
      最近更新 更多