Vba 将DateAdd设置为正确公式时遇到问题
所以我有两个问题,我似乎无法解开。我从基于模板的主工作表运行报告,每个完成的工作表将有不同数量的行。每个完成的工作表共有两列(一列表示开始日期[第F列],另一列表示到期日期[第H列])。对于F列中有日期的每一行,我需要在日期的基础上增加60天,并将该日期放在H列中。我已尝试使用以下变量:Vba 将DateAdd设置为正确公式时遇到问题,vba,excel,Vba,Excel,所以我有两个问题,我似乎无法解开。我从基于模板的主工作表运行报告,每个完成的工作表将有不同数量的行。每个完成的工作表共有两列(一列表示开始日期[第F列],另一列表示到期日期[第H列])。对于F列中有日期的每一行,我需要在日期的基础上增加60天,并将该日期放在H列中。我已尝试使用以下变量: Dim cell As Range For Each cell In Selection cell.Value = cell.Value + 60 Next cell 我也尝试过将不同的while语句组
Dim cell As Range
For Each cell In Selection
cell.Value = cell.Value + 60
Next cell
我也尝试过将不同的while语句组合在一起,我用这些语句来处理其他事情,在这些事情中,我把一列中的值与另一列中的值相对应,但我也无法让它们工作
我遇到的一些问题是:首先,当我设法让它在H列中输入日期时,它总是输入1900年2月29日。无论F列中是否有日期,或者该日期是什么,这都无关紧要。其次,当我尝试为选择设置一个范围时(这是当我尝试与“While”语句组合时),它会在整个范围内粘贴一个日期编号,而不仅仅是在F列中有日期的单元格
如果F列中有日期,我如何让宏只在H列中添加日期,如何让该死的东西正确添加60天?你这个卑鄙的家伙!我几乎没有看到您的示例将E列作为参考而不是F列。这似乎确实起到了作用。谢谢你,先生。@Jon:你的问题似乎在E和F之间跳跃-我不确定你到底是指哪一个…你这个鬼鬼祟祟的家伙!我几乎没有看到您的示例将E列作为参考而不是F列。这似乎确实起到了作用。谢谢你,先生。@Jon:你的问题似乎在E和F之间摇摆不定-我不确定你真正想问的是哪一个。。。
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