VBA如何仅基于日期锁定工作表中的某些列

时间:2019-02-11 17:59:09

标签: excel vba

基本上,在may数据的每一列顶部都有一个日期字段,该字段对应于每个月的第一天。此过程中已经完成了几个步骤,但最后一步是锁定日期值在当前日期之前的每一列。数据的结构如下:

|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列的同时可编辑,因此仅锁定整个工作表将不起作用。

0 个答案:

没有答案