我需要在工作表中使用VBA保护一些数据,但保留一些单元格以便输入数据 - 标签名称“Part Order”
我的数据从A5开始,然后进入J
我有几个问题我正在努力解决 - 见下文
如果在单元格A的A列中找到数据,则锁定(A到F),然后锁定(H)然后从(K)到工作表末尾的所有单元格 这使得所有细胞在G5中向下解锁I5向下和J向下
如果在单元格A的A列中找不到数据,则锁定整行
如果有人可以提供帮助,我们将不胜感激。
提前致谢
答案 0 :(得分:0)
试试这个:
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