0
1つのブック/複数のシートのすべてのデータを別のブック/複数のシートにコピーするマクロを作成しています。最初のスプレッドシートには、Sun-Satという7つのワークシートがあります。 2番目のワークシートには10枚のワークシートがあり、3枚のワークシートは無関係で、残りの7枚のワークシートは日曜日から土曜日に付けられています。VBA: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
あなたは私にそれを打つ!私はまた、私の説明では、Excelがスタンドアローンのマルチスレッドに対応していないと言っています。なぜなら、彼のネストされたステートメントが彼に反して直感的に感じられた理由です。私たちのコードは1:1でも同じです。 – Tyeler
ありがとうScott - 私は本当にそれをovercomplicatingしていた! – c3nixon