- ベストアンサー
エクセル VBA 繰り返し処理を 簡潔にしたいのでお願いします。
初心者です。繰り返し処理のシート名操作が分かりません。 上手く説明できないのですが、シートの名前が数字の1~20で 特定のセルを参照してテーブルにします。 現在、とても単純なコードを繰り返しています。 すっきりとさせるには、どのように記載するとよいのか 教えてください。 以下の処理を20回ほど繰り返します。 'シート1の特定セルをコピーします Sheets("1").Range("c3").Copy Range("A3").PasteSpecial Sheets("1").Range("c4").Copy Range("B3").PasteSpecial Sheets("1").Range("o2").Copy Range("C3").PasteSpecial Sheets("1").Range("o3").Copy Range("D3").PasteSpecial Sheets("1").Range("Q6:Q42").Copy Sheets("集計").Select ActiveWindow.ScrollColumn = 14 ActiveWindow.ScrollColumn = 13 ActiveWindow.ScrollColumn = 12 ActiveWindow.ScrollColumn = 11 ActiveWindow.ScrollColumn = 10 ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 8 ActiveWindow.ScrollColumn = 7 ActiveWindow.ScrollColumn = 6 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 4 ActiveWindow.ScrollColumn = 3 ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 1 Range("E3").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True 'シート2の特定セルをコピーします Sheets("2").Range("c3").Copy Range("A4").PasteSpecial Sheets("2").Range("c4").Copy Range("B4").PasteSpecial Sheets("2").Range("o2").Copy Range("c4").PasteSpecial Sheets("2").Range("o3").Copy Range("d4").PasteSpecial Sheets("2").Range("Q6:Q42").Copy Sheets("集計").Select ActiveWindow.ScrollColumn = 14 ActiveWindow.ScrollColumn = 13 ActiveWindow.ScrollColumn = 12 ActiveWindow.ScrollColumn = 11 ActiveWindow.ScrollColumn = 10 ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 8 ActiveWindow.ScrollColumn = 7 ActiveWindow.ScrollColumn = 6 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 4 ActiveWindow.ScrollColumn = 3 ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 1 Range("E4").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True Sheets("3").Range("c3").Copy Range("A5").PasteSpecial Sheets("3").Range("c4").Copy Range("B5").PasteSpecial Sheets("3").Range("o2").Copy Range("c5").PasteSpecial Sheets("3").Range("o3").Copy Range("d5").PasteSpecial Sheets("3").Range("Q6:Q42").Copy Sheets("集計").Select ActiveWindow.ScrollColumn = 14 ActiveWindow.ScrollColumn = 13 ActiveWindow.ScrollColumn = 12 ActiveWindow.ScrollColumn = 11 ActiveWindow.ScrollColumn = 10 ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 8 ActiveWindow.ScrollColumn = 7 ActiveWindow.ScrollColumn = 6 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 4 ActiveWindow.ScrollColumn = 3 ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 1 Range("E5").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True
- みんなの回答 (3)
- 専門家の回答
お礼
ありがとうございます。 大変参考になります。ものすごくすっきりしました。