Vba 根据整行为空选择要保护的单元格

Vba 根据整行为空选择要保护的单元格,vba,excel,Vba,Excel,我需要在工作表中使用VBA保护一些数据,但保留一些单元格处于打开状态,以便可以输入数据-选项卡名称零件顺序 我的数据从A5开始,一直到J 我有几个问题正在努力解决——见下文 如果在单元格5的A列中找到数据,则将A锁定到F,然后锁定到H,然后锁定从K到工作表末尾的所有单元格 这将使G5向下I5向下和J向下的所有单元格解锁 如果在单元格5的A列中找不到数据,则锁定整行 如果有人能帮上忙,我将不胜感激 提前感谢试试这个: Sub LockCells() Dim sLastColName As Stri

我需要在工作表中使用VBA保护一些数据,但保留一些单元格处于打开状态,以便可以输入数据-选项卡名称零件顺序

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

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

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

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

如果有人能帮上忙,我将不胜感激

提前感谢

试试这个:

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

请向我们展示您的尝试: