循环工作表并锁定特定单元格

时间:2021-04-26 15:00:57

标签: excel vba

你能帮我循环遍历表格并只锁定指定的范围吗?我试过这样的东西,但它不能正常工作:

Sub LoopThru()
    Dim N As Long, i As Long
    
    With Sheets("Sheet1")
        N = .Cells(Rows.Count, "A").End(xlUp).Row
        For i = 1 To N
            Sheets(.Cells(i, "A").Value).Select
            Sheets(.Cells(i, "A").Value).Locked = False
            Sheets(.Cells(i, "A").Value).FormulaHidden = False
            Sheets(.Cells(i, "A").Value).Range("A1:X1").Locked = True
            Sheets(.Cells(i, "A").Value).Protect Password:="abcd1"
        Next i
    End With
End Sub

我正在尝试遍历文档中的工作表列表并解锁所有单元格,然后仅锁定指定范围(使用密码)。

2 个答案:

答案 0 :(得分:2)

这里。

循环 A 列中列出的工作表,解锁每张工作表上的所有单元格,然后锁定特定范围并使用密码 xxx 锁定工作表。

Sub PS()
    Dim N As Long, i As Long

    With Sheets("Sheet1")
        N = .Cells(Rows.Count, "A").End(xlUp).Row
        For i = 1 To N
            Sheets(.Cells(i, "A").Value).Select
            Sheets(.Cells(i, "A").Value).Cells.Locked = False
            Sheets(.Cells(i, "A").Value).Range("A1:X1").Locked = True
            Sheets(.Cells(i, "A").Value).Protect Password:="xxx"
        Next i
    End With
End Sub

要解锁循环:

Sheets(.Cells(i, "A").Value).Unprotect "xxx"

答案 1 :(得分:0)

Sub LoopThru()
 For Each c In Worksheets("Sheet1").Range("A1:D10").Cells
    c.Locked = True
 Next
End Sub

然后您需要保护工作表。我在 excel 顶部的搜索栏中输入保护表,它会显示保护窗口。

这是否达到了您的要求?

https://docs.microsoft.com/en-us/office/vba/excel/Concepts/Cells-and-Ranges/looping-through-a-range-of-cells