【发布时间】:2017-02-10 08:22:00
【问题描述】:
我对代码和 Excel VBA 非常陌生,希望你们能帮助我解决我的问题。非常感谢任何提示、反馈和 cmets!
在工作簿中,我想确保工作表 (Sheet1) 的单元格 (I1) 具有写在不同工作表(即菜单)中的特定日期。我希望 I1 成为起点,随后的日期将通过行(I1、J1、K1 等)发生。在这种情况下,如果我需要的具体日期是 16 年 8 月 15 日,并且我的一张表(表 1)的单元格 I1 写为 2016 年 8 月 20 日,我想知道如何以这样的方式构造我的代码,
如果 Sheet 1 中的 I1 当前位于 15/8/16,则什么也不做。但是,如果工作表 1 中的 I1 与 15/8/16 的日期不同,则 I1 现在将从 15/8/16 开始,并添加后续日期,直到达到最初在 I1 的默认日期(现在20/8/16 位于单元格 N1)。
我目前的代码如下:-
If ActiveSheet.Range("I1") <> MainSht.Range("D6") Then
ActiveSheet.Range("I1") = MainSht.Range("D6")
End If
Do
If Cells(1,z+1)>Cells(1,z+1) Then
Cells(1,z+1) = Cells(1,z)+1
End If
z = z+1
Loop Until Cells(1,z+1) = MainSht.Range("D7")
*Mainsht (D6) 是我的开始日期,(D7) 是我的结束日期。
我的代码目前没有插入列部分,因为我在同时应用插入列和日期增量代码时遇到问题。使用我当前的代码,我的日期范围从未扩展,因为它仍在相同的较早日期范围内(与以前相同的最后一列,因此日期列的最后一个单元格保持原样)。如何构造这样一种方式,即添加中间缺失的日期,并通过在重复过程中插入列来添加?
如果有人可以帮助我,请提前感谢。也感谢您的理解。
【问题讨论】:
-
你先说“添加后续日期”然后“插入列”:你需要简单地在单元格中写日期还是添加列?
-
如果单元格 I1 没有写入具体日期(即 20/8/16),我想在 I1 之前添加更多列,以容纳需要写入的 5 个日期(15 /8/16-19/8/16) 在 I1 到 M1 之间。现在我的 N1 变成了 2016 年 8 月 20 日。我只是不知道如何与代码混合。它不必是插入列,也可以只是将 I1 更改为特定日期,然后添加直到到达结束日期 (D7)。说得通?简而言之,日期列的范围扩大了 5 列。