重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

A 回答 (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
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2003/04/08 12:36

Sub test()


Dim mySh As Worksheet
For Each mySh In Sheets
mySh.Select
'この中にシート設定のマクロを記述する
Next mySh
End Sub

というのではいかがでしょう?

この回答への補足

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

補足日時:2003/04/04 09:24
    • good
    • 0

Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select



これは シート1から3まで選択です。

この回答への補足

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

補足日時:2003/04/03 11:08
    • good
    • 0

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

この回答への補足

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

補足日時:2003/04/03 10:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!