
エクセルである業務を簡便化させるために一つのマクロボタンを作ったとして、その次の業務をするためにまた別の第二の作業マクロボタンを作り、また同じブックではあるが別なシートなどに移ったりなどして第三の作業のマクロボタンをつくって 最終的にそれらのマクロボタンを使った結果データを用いて最終結果を出したい。このように一つ一つボタンを押して終了させた場合は最終結果まで行きつけるのだが、一連の業務を一括で終えるために複数のマクロボタンを押すことを一つのマクロボタンに記憶させてそれでやらせようとすると途中で止まってしまうが、どうしてなのか。またそれらを解決するにはどうすればいいか。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは
質問者様の頭の中では「ボタンと処理」が同じものになってしまっているようですが、実際に処理を行っているのはボタンではなく、マクロといわれるプログラムの一種です。
このマクロを、ボタンに登録(紐づけ)しておくことで、ボタンを押したときにそのマクロが実行されるようになります。(紐づけを変えれば、別のマクロが動くようにもなります)
例えば、「ボタン1」にマクロ1が登録され、「ボタン2」にはマクロ2が・・・という状況で、新しく作成した「ボタン全部」を押したときにマクロ1~マクロ10を順に実行させたいといった場合を考えてみると、
(マクロ1~マクロ10はすでに作成されているものとします)
「ボタン全部」をクリックした際に実行されるマクロの内容を
Sub ボタン全部のマクロ()
Call マクロ1
Call マクロ2
・・・
Call マクロ10
End Sub
といったようにしておくことで、マクロ1~10が順に実行されるようになります。
もちろん、それぞれのマクロを編集してひとつのマクロにしておくといった方法でも実現は可能です。
No.3
- 回答日時:
> 途中で止まってしまうが、どうしてなのか。
例えば、
Sheet1にボタンAがあって、押された時にActiveSheet(ボタンのあるSheet1)のセルを処理する。
Sheet2にボタンBがあって、押された時にActiveSheet(ボタンのあるSheet2)のセルを処理する。
Sheet1からボタンBのマクロを呼び出すと、ActiveSheetがSheet1なのに、Sheet2の処理を行なおうとして失敗。
だとか。
> またそれらを解決するにはどうすればいいか。
途中まで実行されるなら、その処理にブレークポイントを設定、ステップ実行して止まる個所を特定して原因を推測し、VBAを修正する。
上のような原因なら、シートやセルの指定を絶対指定にするとか。
No.2
- 回答日時:
エクセルのマクロは、実際のところ「ExcelVBA」というプログラムに展開できます。
ExcelVBAは、テキストファイルとして編集可能です。
ですから、それぞれのマクロボタンに対応したExcelVBAプログラムを1連で実行されるように編集したらいいのです。
そのためには、ExcelVBAの文法とか、「プログラムはどう作るのが良いのか?」という知識やOSであるWindowsの知識も当然要求されます。
>>複数のマクロボタンを押すことを一つのマクロボタンに記憶させてそれでやらせようとすると途中で止まってしまう
No.1さんの回答のとおり。
ただ、ExcelVBAプログラムで作成すれば、うまくいかない部分でエラーが出て停止するとか、望む結果にならずに終了するとか、とりあえず問題箇所が明確になるので、次に進むことが容易になります。
No.1
- 回答日時:
1つ目のマクロが終了したら2つ目のマクロを実行し、
2つ目のマクロが終了したら3つ目のマクロを…
のように順次マクロを実行するマクロを作って、それをボタンに割り付ければ良いと思います。
そんなの嫌だということであれば、マクロを実行する順番を覚えさせるときに待ち時間(Wait)を挿入してみましょう。
・・・
てか、マクロを1つに編集すれば良いと思うんだ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロ設定 1 2023/04/05 19:37
- Visual Basic(VBA) 【ExcelVBA】動的にボタン、ボタン名を生成できますか? 7 2022/04/08 12:54
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- Excel(エクセル) マクロで謎の現象が起きていて困ってます。 エクセルで作ったボタンを押すとマクロが動いて処理をしてくれ 3 2023/06/22 17:28
- Excel(エクセル) マクロを教えてください 3 2023/07/31 21:57
- Excel(エクセル) マクロを教えてください 2 2023/07/30 23:05
- Excel(エクセル) マクロを教えてください 1 2022/11/28 14:52
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAで多数のプログラムを一つのボタンに集約することは可能でしょうか?
Visual Basic(VBA)
-
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
【Excel】複数のマクロをまとめることはできますか?
Excel(エクセル)
-
-
4
複数のコマンドボタン(VBAで)を一つにまとめたい。
Visual Basic(VBA)
-
5
複数シートのボタンに同一の動作をさせたい
Excel(エクセル)
-
6
モジュール内のマクロを全て実行させるには
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
9
マクロを複数シートに実行するには?
Excel(エクセル)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
12
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
13
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
14
エクセル ボタンに設定したマクロごとボタンをコピー
Excel(エクセル)
-
15
作ったマクロを複数のシートで実行できるようにしたい。
Excel(エクセル)
-
16
マクロボタンを押すたびに違う動作をしたい
Excel(エクセル)
-
17
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
18
2つのマクロを連続して動かしたい
Excel(エクセル)
-
19
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
20
エクセルの、記録を終了したマクロに内容を追加したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
複数のマクロボタンをまとめて...
-
Excelのマクロでボタンを押すと...
-
エクセル ボタンに設定したマク...
-
個人用マクロのショートカット...
-
Excelマクロで、稼働中のマクロ...
-
WORDを使って印刷部数分の連番...
-
エクセル マクロ名にブック名...
-
エクセルマクロで、別のブック...
-
Excel2000でのマクロの設定方法
-
LDPlayerのマクロの編集方法を...
-
エクセルの、記録を終了したマ...
-
エクセルでマクロを実行したあ...
-
エクセルの表を複数枚印刷した...
-
エクセルで、「いいね」のよう...
-
エクセルでマクロ(Excel 4.0)...
-
エクセルのマクロ名に使えない...
-
エクセルマクロで教えてください。
-
リーグ戦(10チーム2コート)作...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
複数のマクロボタンをまとめて...
-
エクセル ボタンに設定したマク...
-
エクセルでマクロ(Excel 4.0)...
-
エクセル マクロ名にブック名...
-
Excelのマクロでボタンを押すと...
-
Excelマクロで、稼働中のマクロ...
-
エクセルの、記録を終了したマ...
-
エクセルで、「いいね」のよう...
-
エクセルの表を複数枚印刷した...
-
エクセルマクロで、別のブック...
-
LDPlayerのマクロの編集方法を...
-
(Excel VBA)シートコピー時マ...
-
Excelのマクロ名の並び順の法則...
-
マクロをマクロを使ってコピー...
-
エクセルで明日の日付を表示す...
-
Excelマクロをバックグラウンド...
-
Ctrl+Zが使えない
-
マクロ実行ボタンを自動削除したい
おすすめ情報