【发布时间】:2016-09-07 17:50:52
【问题描述】:
我正在创建一个宏,它将所有数据从一个工作簿/多个工作表复制到另一个工作簿/多个工作表中。第一个电子表格有 7 个名为 Sun-Sat 的工作表。第二个工作表有 10 个工作表,3 个工作表不相关,另外 7 个工作表命名为 Sunday-Saturday。
我分别测试了每个 for 循环,它们根据需要工作。当尝试将它们组合起来时,内部 for 语句会重复并循环遍历所有日期,然后再退出。我已经尝试合并一个退出来跳出内部,但是当回到内部时,它不会增加 +1 以进入下一个日期。有没有一种简单的方法可以从外部 for 语句中添加 +1?
enter code here
Dim wsShortDays, wsFullDays As Variant
Dim wsShortDaysCrnt, wsFullDaysCrnt As Long
Dim SD, FD As Long
wsShortDays = Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")
wsFullDays = Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
For FD = LBound(wsFullDays) To UBound(wsFullDays)
With wbk1.Worksheets(wsFullDays(FD))
For SD = LBound(wsShortDays) To UBound(wsShortDays)
With wbk2.Worksheets(wsShortDays(SD))
wbk2.Worksheets(wsShortDays(SD)).Activate
Range("A:H").Copy
End With
Exit For
Next SD
wbk1.Worksheets(wsFullDays(FD)).Activate
Range("C:J").PasteSpecial xlPasteAllUsingSourceTheme
SD = 1
End With
Next FD
【问题讨论】: