我有一个包含2个工作表的工作簿,第一个包含大量数据和公式,第二个包含两个空表,用sheet1填充特定日期。 Sheet1有一列日期范围(“DK7:DK39”),范围从5/1/1986到5/1/2018。每次在此栏中更改第一个日期(“DK7”)时,以后年份中的所有其他日期将自动更新到给定年份的同一天。通过这些更改,将使用基于日期特定数据确定的新数据重新填充两个单独的列。
我正在尝试运行一个代码,该代码将遍历我需要数据的天数(5/1到8/28),将单元格(“DK7”)的值更改为该范围内的每个日期。但是,我需要循环来复制和粘贴来自两个数据列(“DS7:DS38”)和&的数据。 (“DT7:DT38”)进入sheet2上的两个表,其中1986 - 2017年为y轴列,5/1到8/28为x轴行。我已经想出了如何通过Cell(“DK7”)循环日期,但无法弄清楚副本&粘贴到相应年份/日期列中的第二个工作表。非常感谢任何帮助,谢谢。
Private Sub CommandButton1_Click()
Dim i As Date
For i = ("5/1/1986") To ("8/28/1986")
Range("DK7").Value = i
Worksheets(1).Range("DS7:DS38").Copy
Worksheets(2).Range("D4:E36").PasteSpecial
Next i
End Sub
答案 0 :(得分:0)
这是循环日期的好方法:
Public Sub TestMe()
Dim i As Date
For i = DateSerial(1986, 5, 1) To DateSerial(1986, 8, 28)
Debug.Print i
Next i
End Sub
请确保您使用的是DateSerial()
function,因为世界各地的日期格式之间存在很大差异。