【问题标题】:Select Cells For Protect Based On Complete Row Being Blank根据完整的空白行选择要保护的单元格
【发布时间】:2014-02-12 21:05:54
【问题描述】:

我需要在工作表中使用 VBA 保护一些数据,但让一些单元格保持打开状态以便可以输入数据 - 选项卡名称“零件订单”

我的数据从 A5 开始,一直到 J

我有几个问题正在努力解决 - 见下文

  1. 如果在单元格 5 的 A 列中找到数据,则锁定 (A 到 F) 然后 (H) 然后锁定 (K) 到工作表末尾的所有单元格 这会使所有单元格在 G5 下 I5 下和 J 下解锁

  2. 如果在单元格 5 的 A 列中未找到数据,则锁定整个行

如果有人能提供帮助,将不胜感激。

提前致谢

【问题讨论】:

  • 请向我们展示您的尝试:)

标签: vba excel


【解决方案1】:

试试这个:

Sub LockCells()
Dim sLastColName As String
Dim lLastRow As Long
Dim i As Long

With Worksheets("Part Order")
    sLastColName = Mid(.Cells(1, .Columns.Count).Address, 2, _
                       InStr(2, .Cells(1, .Columns.Count).Address, "$") - 2)
    lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

    .Cells.Locked = False

    For i = 5 To lLastRow
        If .Cells(i, "A").Value <> vbNullString Then
            .Range("A" & i & ":F" & i & ",H" & i & ",K" & i & ":" & sLastColName & i).Locked = True
        Else
            .Rows(i).Locked = True
        End If
    Next i
End With
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多