excel - VBA如何根据日期仅锁定工作表中的某些列
问题描述
本质上,我在可能数据的每一列顶部都有一个日期字段,对应于每个月的第一天。此过程中有几个步骤已经完成,但最后一步是锁定日期值早于当前日期的每一列。数据结构如下:
|43282 |43313 |43344 |43374 |43405 |43525 |
|7/1/2018|8/1/2018|9/1/2018|10/1/2018|11/1/2018|3/1/2019|
|$125 |$137 |$654 |$876 |$136 |$125 |
等等。我尝试使用的代码如下:
Sub LockDateCols()
Dim i As Range
For Each i In Sheets("Sheet1").Range("F1:AS1").Cells
If i.Value < Int(CDbl(Now())) Then
i.EntireColumn.Locked = True
End If
Next i
End sub
其中 F1:AS1 是包含数字日期值的单元格行。但是,当我执行此代码时,它实际上并没有锁定任何东西。我错过了什么?在提供的示例中,我希望最右边的列可编辑,同时锁定其他 5 个,因此仅锁定整个工作表是行不通的。
解决方案
推荐阅读
- sql - 如何在 postgreSQL 中的一行中获取值?
- html - 在 DIV 内的 DIV 元素之间创建半个边框
- laravel - 应该通过身份验证保护的 Laravel-Vue 发布组件
- javascript - 根据 div id 重复函数?
- java - 测试运行,但是:找不到或加载主类 cucumber.api.cli.Main
- python - Anaconda/conda/python/Windows:如何启动和激活 conda 环境?
- html - 如何从 Angular 7 的 ngx-graph 开始
- php - 在codeigniter中的分页数据表的10条记录后,bootstrap modal没有弹出
- ethereum - 无法在 windows10 上运行 geth 命令
- angular - Azure 在页面重新加载时出现 Angular 网站问题