- 締切済み
エクセル複数シート VBA実行に
エクセルにおいて 複数のシートを シフトを押しながら 同時にアクティブにするときに VBAを同時に実行するには どのようにしたらよいでしょうか ひとつのシートを開いて そこにVBAを実行するときは Dim 選択シート As Sheets Set 選択シート = ActiveWindow.SelectedSheets これによって稼働しますが、 上記のように 複数シートを 選ぶと 実際に見えているシートでしか コードが実行されません 同時に複数シートを選んで コードを稼働できるVBAを御教示ください win10 office365
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- chayamati
- ベストアンサー率41% (260/624)
回答№4の補足です >複数のシートをシフトを押しながら同時にアクティブにする この部分VBAにして、End Subの手前に単一のシートのVBA名(計算)を記入します。
- chayamati
- ベストアンサー率41% (260/624)
sheetをアクティブにする部分とセルを計算する部分に分ける Option Explicit Sub sheet選択() Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select 計算 End Sub Sub 計算() Range("A1").Select ActiveCell.FormulaR1C1 = "123" Range("B1").Select ActiveCell.FormulaR1C1 = "456" Range("C1").Select ActiveCell.FormulaR1C1 = "789" Range("D1").Select End Sub
- kkkkkm
- ベストアンサー率66% (1742/2617)
この方が分かりやすいですか 選択したシートのA1にそれぞれのシート名が記載されます。 Dim Ws As Worksheet For Each Ws In ActiveWindow.SelectedSheets Ws.Range("A1").Value = Ws.Name Next
- chayamati
- ベストアンサー率41% (260/624)
出来上がったVBAから選択シートを含む命令文を除去 適用する複数SheetをアクティブアクティブにしてからVBAを実行します
- kkkkkm
- ベストアンサー率66% (1742/2617)
以下のような感じで試してみてください。 Dim Ws As Worksheet For Each Ws In ActiveWindow.SelectedSheets Debug.Print Ws.Name 'イミディエイトに選択したシート名が順に記載されます シート毎に実行したいコード、シートはWs Next
お礼