• 締切済み

エクセルVBAで全シートをアクティブにするには?

ブック内の全シートを選択するのはSheets.Selectですね。 そうやって選択した全部のワークシートをアクティブにするにはどう記述するのでしょうか? SelectedSheets.Activateや Sheets.Activateではエラーになってしまいました。 何をしたいかといえば、全シートをアクティブにしてページ設定(横向きに)したいのです。

みんなの回答

  • wildcard
  • ベストアンサー率54% (54/100)
回答No.4

配列を利用すると可能のようです。Excel2000にて動作確認済みです。 Sub Tesu()   Dim n As Long   Dim MySheet As Worksheet   Dim AllSheet() As Variant   ReDim AllSheet(1 To Sheets.Count)   n = 1   For Each MySheet In Sheets     AllSheet(n) = MySheet.Name     n = n + 1   Next MySheet   Sheets(AllSheet()).Select End Sub

otasukey
質問者

お礼

ありがとうございます。

すると、全ての回答が全文表示されます。
  • akey
  • ベストアンサー率38% (8/21)
回答No.3

Sub test() Dim mySh As Worksheet For Each mySh In Sheets mySh.Select 'この中にシート設定のマクロを記述する Next mySh End Sub というのではいかがでしょう?

otasukey
質問者

補足

ありがとうございます。 上記の方法も考えましたが、これだと結局は1シートずつの設定になり、枚数が多いシートの場合時間がかかってしまうのです。そのため、全シートを一度に設定したいのです。

すると、全ての回答が全文表示されます。
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select これは シート1から3まで選択です。

otasukey
質問者

補足

ありがとうございます。 自分でマクロを記録してもそうなりました。 ただ、シートが何枚かわからないブックの全シートを選択し、すべてにページ設定したいのです。 ですからSheets.Selectにしてあります。次に、自分で記録した全シートに対するページ設定のマクロを、実行すると、どういうわけか最初の1枚にしか設定されないのです。 ですから全シートをアクティブにしてページ設定のマクロを書こうと思っているのですが、全シートをアクティブにする記述がわからないのです。

すると、全ての回答が全文表示されます。
  • rubychan
  • ベストアンサー率11% (1/9)
回答No.1

最初のシートから最後のシートまでのインデックスをシフトキー+左クリックで選択してページ設定をしてみては?

otasukey
質問者

補足

ありがとうございます。それをVBAマクロで記述したいのです。

すると、全ての回答が全文表示されます。

関連するQ&A