根据列标题和行标题解锁单元格吗?

时间:2019-12-01 10:19:37

标签: excel vba

我有一个看起来像这样的表(它会动态变化)。 Table

我正在尝试创建一个仅解锁“浅黄色”单元格的宏=第1行包含“ Forecast”作为值,而第I列包含“ Actual”作为值。稍后我将保护工作表,以便用户只能在这些单元格中更改值。

在条件格式中,我使用以下公式: =(INDIRECT(ADDRESS(1;COLUMN();4))="Forecast")*(INDIRECT(ADDRESS(ROW();COLUMN($I$1);4))="Actual") 但是我未能在VBA中完成类似的工作。

1 个答案:

答案 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