excel - 我在 VBA 中的 For 循环没有按我的意愿工作
问题描述
我有一个工作表,我需要根据其他单元格内容解锁一些单元格。就像如果用户在 C3 单元格中写了一些东西,那么 D3,E3 的锁定属性变为 false。问题是 D3 和 E3 有下拉列表,所以数据验证不是一个选项。我写了一个基本的 VBA 代码:
Sub Cell_unlocklevel1()
Dim i As Integer
For i = 3 To 20
If Not IsNull(Cells(i, 3)) Then
Cells(i, 4).Locked = False
Cells(i, 5).Locked = False
Else
Cells(i, 4).Locked = True
Cells(i, 5).Locked = True
End If
Next i
End Sub
运行代码后,它会解锁所有 D 和 E 单元格,无论 C 列是否包含文本。我怎样才能使这个代码工作?
解决方案
推荐阅读
- node.js - 在 expressjwt 中将变量绑定到异步
- python - sklearn 树可视化中的这些列表是什么
- c# - 如何使用 LINQ 填充对象的属性并返回集合
- java - 请调整文件大小
- c++ - 为什么不允许成员函数的模板特化?
- amazon-web-services - S3 的私有内容 CORS 问题
- sql - Postgresql SQL 根据表 2 中的条件从表 1 中选择项目
- oracle - 无法使用 SID 连接到 oracle 数据库
- google-apps-script - 从 Docs 表格中的已识别单元格获取图像 URL 并替换为图像
- excel - 如何让我的代码花费更少的时间来处理?