• ベストアンサー

ExcelVBAを複数シートで実行する方法

Excelで以下のマクロを教えて下さい ・Aというマクロ処理を特定(複数)のシートのみ実行する ・Aというマクロ処理を全てのシートで実行する Aマクロは作成済みなのですが、複数シートでマクロを実行する方法がわかりません 宜しくお願い致します

  • yac13
  • お礼率11% (2/17)

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

No1です。 > 試してみたのですがアクティブなシートしか変更が反映されませんでした。 どのようなマクロか存じませんが、そのために st.Activate '(アクティブにする必要があるなら) としたのですがこの部分は使用されなかったのでしょうか? > マクロをインポートして実行するだけではないのでしょうか? 意味不明です。 マクロAはどこに記述されているのですか? どのようなコードなのですか?

yac13
質問者

お礼

すいませんできました VBエディタでアクティブシートの「Sheet」オブジェクトを選択してしたためアクティブシートしか反映されなかったようです。 対象を「ThisWorkbook」に変更したら正常に実行されました ありがとうございます

その他の回答 (3)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

Sub 複数シート() Dim sh As Worksheet For Each sh In Worksheets(Array("Sheet1", "sheet3")) sh.Select Call Aマクロ Next End Sub Sub 全シート() Dim sh As Worksheet For Each sh In Worksheets sh.Select Call Aマクロ Next End Sub >マクロをインポートして実行するだけではないのでしょうか? インポートどこに???

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

作成済みのAマクロを提示されて相談された方が回答が寄せられ易いと思います。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

Sub 特定シート() For Each st In Worksheets Select Case st.Name Case "Sheet2", "Sheet4", "Sheet7" '特定シート名 st.Activate '(アクティブにする必要があるなら) Call Aマクロ End Select Next End Sub Sub 全シート() For Each st In Worksheets st.Activate '(アクティブにする必要があるなら) Call Aマクロ Next End Sub 一例ですが、こんな感じでしょうか。

yac13
質問者

お礼

ありがとうございます 試してみたのですがアクティブなシートしか変更が反映されませんでした。 アクティブシートを別シートにすれば変更されるのですが、 マクロをインポートして実行するだけではないのでしょうか? 実行したマクロはいくつかあるのですが全て簡単なfor文のループです

関連するQ&A

  • 複数のシートでマクロの実行

    ブック内の全てのシートで同一のマクロを実行させたいのですが。 Sub Test() Dim ws As Worksheet  For Each ws In Worksheets  処理内容   Next ws End Sub 上記の「処理内容」が以下だと成功します。 ws.Range("A1").Value = ws.Name が、以下だと(置換処理)、一番最初のシートしか実行されません。 Range("A1:G20").Select Cells.Replace What:="A", Replacement:="B", _ LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False, _ SearchFormat:=False, ReplaceFormat:=False 「Range("A1:G20").Select」の「Range」を「ws.Range」にすると、その行がエラーになってしまいます。 置換処理を全てのシートで実行させるためには、マクロをどのように直せばいいでしょうか?

  • マクロを複数シートに実行するには?

    ブック内全ての複数のシート(sheet30くらい)に、 同じマクロ作業を実行するには どのようにすればよいでしょうか?

  • 複数のエクセルファイルに対してマクロを順次実行する方法

    エクセルのマクロについて教えていただきたいです。 以下のような状況なのですが、アドバイスいただけないでしょうか。 ・同一フォルダに100個以上の同じ形式のエクセルファイルがある(ファイル名に規則性はなし) ・各ファイルは2つのシートから成り、そのうちの「データ」というシートに対して処理を適用したい ・適用したい処理のマクロは作成済み なお、適用したい処理というのは、「データ」シートからある値以上のデータの平均を別のエクセルファイル(これは1つのファイル)に記入するという作業で、値を読み込むだけで書き込むことはありません。 このマクロをフォルダ内の全てのエクセルファイルに対して実行したいのですが、可能であれば各エクセルファイルを開かずにマクロを実行したいのです。(100個を越えるファイルを開いたり閉じたりする動作を避けたい) マクロはしっかりと勉強したわけではなく、ネットから情報を集めつつなんとか作っているレベルで、特にファイルの読み書きがよく理解できていません・・・分かりやすいサイトなどがあればそれも教えていただきたいと思っています。 自分でも上手く説明できていないのはわかりますので、もし必要な情報がありましたら付け加えさせていただきます。 分かる方がいらっしゃいましたらどうぞよろしくお願いいたします。

  • EXCEL の複数シートを選択するVBA

    お世話になります。 複数のシートがあるEXCELファイルで、特定のセル(A1)に「オリンピック」と入力れているワークシートをすべて選択するマクロを組みたいのです。ご教示よろしくお願い致します。

  • 非表示シートのマクロ実行

    マクロ処理をさせたいAシートを非表示にしてBシートにマクロボタンを置いて実行させたいのですが 非表示にすると実行できません。 Aシートは 計算処理を行い Bシートには 値だけを出したいので BシートからAシートのマクロ処理を実行したいと思っています。 非表示にしても別シートから実行出来る方法を教えてください。

  • Excel VBAで選択したシートの表を一つのシートに転記する方法

    こんばんは。 Excel VBAで、 複数のシートを選択した状態で、 マクロを実行すると、最後のシートに、選択したシートの表が 転記され、1つのシートにまとまる便利なマクロが組めないでしょうか。 よく全てのシートを1つのシートにまとめるのは見るのですが、 選択した複数のシートの名前を書き出す方法がわかりません。 良い方法をご存知でしたら教えていただけないでしょか。 宜しくお願い致します。

  • VBAで特定のシートを複数選択する方法

    エクセルのマクロで複数のシートから特定の文字のみが入力されているシートを全て選択したいのですが、どのようにプログラムすればよいのでしょうか? 最近勉強し始めたばかりでVBAについての知識が乏しく、完全に行き詰ってしまいました。

  • 複数のシートにまたがるマクロの記述方法

    複数のシートにまたがるマクロって書けるのでしょうか?自動記録でマクロを作ってチビチビ編集しているのですが、シートを指定したマクロが書けません。4枚のシートがセットで連動しているのですが、一度のマクロの実行ボタンで全てを順序良く実行させたいのです。 ご存知の方教えてください。

  • Excelの複数のシートを一つのシートに結合したい

    一つのエクセルファイルに複数のシートがあります。 このシートを一つのシートにまとめる効率の良い方法を教えてください。 なお、私は、マクロ等の使用方法がわからないため、マクロでご回答 される場合は、お手数ですが、手順を記載してください。 宜しくお願い致します。

  • エクセル複数シートの検索とVBA

    エクセルVBA初心者です。 今エクセル2007で、下画像の上段・中段のような売上げシートを ブックの中に複数シート作成しています。 シートは売上げのあった日毎に作成しており、シート名は「1.1」のように日付にしています。 売上日はシートの左上のA1セルに入力しています。 ここでしたい処理なのですが、画像の下段のように検索用の シートを1枚作り、そこに売上内容を入力し、マクロコードを実行すれま、自動的に 該当するデータ(売上内容から支払い方法まで)を表示するコードはあるのでしょうか。 今は手作業で、シートを目視で確認しているので大変になってきました。 よろしくお願いします。

専門家に質問してみよう