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

締切り済みの質問

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

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

投稿日時 - 2003-04-03 09:44:45

連想キーワード:

QNo.513608

困ってます

1人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

回答(4件中 1~4件目)

ANo.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

投稿日時 - 2003-04-04 19:18:21

お礼

ありがとうございます。

投稿日時 - 2003-04-08 12:36:08

ANo.3

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

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

投稿日時 - 2003-04-03 22:24:13

補足

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

投稿日時 - 2003-04-04 09:24:52

ANo.2

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

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

投稿日時 - 2003-04-03 10:09:55

補足

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

投稿日時 - 2003-04-03 11:08:01

ANo.1

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

投稿日時 - 2003-04-03 09:58:44

補足

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

投稿日時 - 2003-04-03 10:04:13

あわせてチェックしたい
  • Excel2007VBA ブックのアクティブ化 ...
  • VBAでブック内のワークシートを名前をつけて保存 ...
  • EXCEL2007 VBA アクティブでないワークシートの名前を取得したい ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら