excel锁定/解锁单元格不能与隐藏行的VBA一起使用

时间:2014-02-04 07:08:27

标签: excel vba excel-vba locking hide

我对VBA很新,并且尽我所能。

我有一份针对不同项目的工作簿以及从事这些项目的工作人员, 我有它,以便当工作人员姓名在概览表上的项目旁边时, 与该项目关联的行在其个人表单上被取消隐藏, 我想要的只是几个单元格块,在每个项目的行中都可以输入文本(因此解锁,其余部分被锁定),不幸的是,当我尝试这样做时,它会搞砸项目的方式行显示。 任何人都可以告诉我如何做到这一点或为什么会发生这种情况?

以下是我想要在工作表中解锁的块(按项目排序,因此隐藏/显示在一起): (B16:g27,i16:j28,B29:G29) (B34:g45,i34:j46,B47:G47) (B52:g63,i52:j64,B65:G65) (B70:g81,i70:j82,B83:G83) (B88:g99,i88:j100,B101:G101) (B106:117,i106:j117,B119:G119)

任何帮助都会非常感激,我看过一些论坛,我似乎无法找到任何具体的内容,除非我正在搜索错误的搜索条件...

这是我的VBA,用于显示和隐藏项目行:

`Sub Worksheet_Calculate()
    Dim i As Long, StartRow As Long, EndRow As Long

StartRow = 13
EndRow = 29

For i = 6 To 11
    If UCase(Range("C" & i).Value) = "NO" Then
        Rows(StartRow & ":" & EndRow).EntireRow.Hidden = True
    Else
        Rows(StartRow & ":" & EndRow).EntireRow.Hidden = False
    End If
    StartRow = StartRow + 18
    EndRow = EndRow + 18
Next i

End Sub`

1 个答案:

答案 0 :(得分:0)

您可以在工作表中选择要解锁的单元格,然后右键单击选择 - >格式化单元格... - >选项卡保护并取消选中已锁定的复选框。

然后保护您的纸张选择功能区和保护页中的查看。或者以编程方式Sheets("name_of_sheet").Protect "your_password"。之前选择的单元格将保持解锁状态。