我正在尝试编写一个代码,当每周运行宏时,将日期置于B5:J5范围内9周。我当前的代码是添加我想要的日期,在右边,我只是无法弄清楚如何使它在每次运行宏时保持移动1个单元格。有人能指出我正确的方向吗?
Sub addDate()
Dim r As Range
Set r = Worksheets("Project LOE").Range("B5:J5")
For Each cell In r.Cells
If cell.Value <> "" Then
r.Offset(0, 1).Value = Date
End If
r.Offset(0, 2).Value = ""
Next
End Sub
**编辑
B5列有昨天的日期,当我运行宏时,我希望它今天添加(日期宏运行)到下一个单元格,C5然后是D5,依此类推。我没有“样本”数据,因为字段是空白的,下面就是我期待的日期
B5 C5 D5 E5
4/6/2015 4/7/2015 "next run date" "next run date"
F5自动化
SLA
运行手册
安全Runbook
答案 0 :(得分:1)
这部分是静态的
Set r = Worksheets("Project LOE").Range("B5:J5")
所以你需要让它像以下一样动态:
With Worksheets("Project LOE")
Dim lc As Long
lc = .Cells(5, .Columns.Count).End(xlToLeft).Column + 1
Set r = .Cells(5, lc).Resize(, 9)
End With
编辑1:如果我了解您正在尝试正确执行的操作,您似乎只需要这样做。
With Worksheets("Project LOE")
.Cells(5, .Columns.Count).End(xlToLeft).Offset(0, 1) = Date
End With
请注意,它始终会在B5
上开始填充日期。