我正在尝试创建一个仅解锁“浅黄色”单元格的宏=第1行包含“ Forecast”作为值,而第I列包含“ Actual”作为值。稍后我将保护工作表,以便用户只能在这些单元格中更改值。
在条件格式中,我使用以下公式:
=(INDIRECT(ADDRESS(1;COLUMN();4))="Forecast")*(INDIRECT(ADDRESS(ROW();COLUMN($I$1);4))="Actual")
但是我未能在VBA中完成类似的工作。
答案 0 :(得分:0)
以防万一有人想知道如何做。
Sub Lock_Cells()
Dim startCol As Long
startCol = WorksheetFunction.Match("Forecast", Range("1:1"), 0) 'Define in which column Forecast starts
Dim i As Long
For i = 2 To Range("I" & Rows.Count).End(xlUp).Row
If Cells(i, "I").Value = "Actual" Then 'Loop through values in column I
Range(Cells(i, startCol), Cells(i, "U")).Locked = False 'Unlock cells
End If
Next i
End Sub