excel - 根据列标题和行标题解锁单元格?
问题描述
我正在尝试制作一个仅解锁“浅黄色”单元格的宏 = 第 1 行包含“预测”作为值,而列包含“实际”作为值。我稍后会保护工作表,以便用户只能在这些单元格中更改值。
在条件格式中,我使用这个公式:
=(INDIRECT(ADDRESS(1;COLUMN();4))="Forecast")*(INDIRECT(ADDRESS(ROW();COLUMN($I$1);4))="Actual")
但我未能在 VBA 中进行类似的工作。
解决方案
以防万一有人想知道该怎么做。
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
推荐阅读
- sql - 查询公司和地区
- c++ - 根据启动时加载的参数动态切换
- javascript - 从机器人发送的随机报价 - 意外的识别器
- php - 如何从同一网络服务器上的 CGI python 脚本访问 PHP 会话值?
- javascript - 在具有 div contenteditable="true" javascript 的编辑器中,在光标的 clientX 和 ClientY 位置插入 Html
- reactjs - 在 Meteor react.Component 中显示数据
- oracle - 如何使用 oracle 中的 if else 条件从一个包中调用特定过程
- python - 启动“不支持的地址系列”时出错
- here-api - 流量 API 调用不支持 CORS?
- excel - 使用 VBA 启用 Excel COM 加载项,而不使用 .Connect,而是使用 SendMessage 或 PostMessage