所以我有两个问题,我似乎无法解开。我根据模板从主工作表运行报表,每个完成的工作表将具有不同的行数。每张成品纸的共同点是两列(一列用于开始日期[列F],另一列用于到期日期[列H])。对于列F中的日期的每一行,我需要在日期中添加60天并将该日期放在列H中。我尝试使用以下变体:
Dim cell As Range
For Each cell In Selection
cell.Value = cell.Value + 60
Next cell
我也尝试过使用不同while语句的组合,我将这些语句用于其他的东西,我将值放在一个列的基础上,但是我不能让它们工作。
我遇到的一些问题是:首先,当我设法让它在H列中输入日期时,它总是进入2/29/1900。如果F列中有日期,或者该日期是什么,则无关紧要。其次,当我尝试设置选择的范围时(这是当我尝试与“While”语句结合时),它会在整个范围内粘贴日期编号,而不是仅在列F中粘贴日期的单元格。
如果在F列中有日期,如何让宏只在H列中添加日期?如何才能正确添加60天的日期?
答案 0 :(得分:4)
Sub Tester()
Dim c As Range, val
For Each c In ActiveSheet.Range("E2:E100")
val = c.Value
If Len(val) > 0 And IsDate(val) Then
c.Offset(0, 2).Value = val + 60
End If
Next c
End Sub