![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
初心者レベルです。
時々マクロを使って仕事などに役立てているのですが、マクロでプログラムを作るとき、まず自分がやりたいことをエクセル上で実際にやりますよね!そしてそれがマクロのプログラムとして自動で記録されますよね!大変便利な機能だと思っています。
が、しかし!この自動記録機能ですが…プログラムの途中から自動記録を継続させることができるのでしょうか。数年前は確か「自動記録の開始位置」が指定でき、前述のようなことができていたはずなのですが、会社で使っているパソコンが新しくなってからは(エクセルのバージョンが変わった?)できなくなりました。
私がやり方を知らないだけかもしれません。もしやり方をご存知の方がおられましたらご教示ください。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
#2で解答を入れたものです。
質問の目的を誤解していて済みませんでした。過去に下記で同様質問があります。
http://isweb12.infoseek.co.jp/computer/excelyou/ …
「マクロ「記録」の開始位置の指定」が質問なんですね。
「実行」と勘違いしました。
Exel5.0(?)時代、カーソルを既存マクロの
終わりにおいておいて、記録を実行しようとすると、
続けますかとか聞いてきて、Yesで続けられたような記憶があります。
97以降できないようですね。
続けて記録したマクロの名前をMacro2として、Macro1の
End Subの前に1行「Macro2」と打ちこめば凌げるのでは。
何度もすみません。そうですか、やはりできなくなっているのですか。
最後に提案いただいた方法…使えるかもしれませんね!やってみます。
ありがとうございました。
No.3
- 回答日時:
こんにちは。
自動記録の開始位置を指定する方法は今も昔も知りません。
Excel95くらいから使ってますが、Excel95でも出来なかったような。。(知らなかっただけかも)
連続実行したいMacro1とMacro2があったとしたら、
Sub これを実行()
Macro1
Macro2
End Sub
のようなプロシージャを手書きして対応する事も出来ます。
増えたら、この下にマクロ名を書けばOK。
あと、「Macro1」と「Macro2」と「これを実行」が同じモジュールに記載されているのなら、Macro1、2のSubの前にPrivate を加えておくと、マクロ実行の時にマクロ名が出てこないように出来ます。
Sub これを実行()←このSubプロシージャは手書き
Macro1
Macro2
End Sub
Private Sub Macro1()← 自動記録、前にPrivateを追加
・
・
End Sub
Private Sub Macro2()← 自動記録、前にPrivateを追加
・
・
End Sub
No.2
- 回答日時:
ご質問の真意をとらえた、解答になっているか自信がありませんが、何かの参考になればと思います。
「途中で止める」、「途中から始める」などありますが、「途中から始める」を念頭に置いています。Sub macro1()
MsgBox "AAA"
End Sub
Sub macro2()
MsgBox "BBB"
End Sub
Sub macro3()
x = InputBox("何処を実行 1=AB,2=B")
Select Case x
Case 1
macro1
macro2
End
Case 2
macro2
End
End Select
End Sub
●例えとして2分割の例で話をします。まず一連のエクセルの操作をよく分析し、A部分とB部分に分けられたとします。
「分けられる」とは、
(1)まず分ける意味があること。使用者により多少事情
が異なるでしょう。使い勝手が悪いと分ける意味が無い。
(2)A部分の設定や結果をBで使っていない(相互独立)こ と。
しかし「分けたい」「途中から実行したい」と思っておられ る以上、(1)(2)の成算は大丈夫おありでしょう。
●一度A部分の操作をマクロ記録し、終了する。名前はMacro1と名付けられたとする。次にB部分の操作のマクロ記録を行い、終了する。名前はMacro2と名付けられたとする。
●その後上記Macro3のようなプログラムを作る。
そしてMacro3を実行する。そしてInputBoxに対する応答で
どの部分を実行するか、コントロールする。
●ツール-マクロ-マクロの実行の画面で、中間エントリーポイントを指定を許していないようですし、一般にいろいろな
言語でも任意点や決まったところ数点から実行をするのは、
仕様として取り上げていないようです。モジュールを分割する
なんて原始的な方法しかないのではと思います。私は興味をもっています。
●デバッグ関連も使えないかとチェックしましたが使えそうにない。
●上記ではマクロの記録し直しを言いましたが、そうしなくてもEnd SubとSub MacroXX()を続けて「常識的な区切り点」で入れれば、分割出来そうに思います。
この回答への補足
早速のご回答ありがとうございます。
ご回答いただいた内容は理解できましたが、残念ながら私の説明が悪かったのか、私の悩みとは少し違っているように思いました。
私は「分けたい」のではなく、逆に「分けたくない」のです。
つまり上記で言うと、「A部分」の記録に続けて「B部分」の記録をしたいということなのです。普通にやると「A部分」、「B部分」はそれぞれ”macro1”、”macro2”という別の名前で記録されますよね。いつもはこれをあとでカット&ペーストしてまとめているのです。これを何とかしたいということなのです。
ご理解頂けたでしょうか。説明不足ですみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別シートのマクロを実行する方法
-
エクセルVBAで、ボタンの文字を...
-
Application.Runエラー(1004)
-
特定のシートだけ印刷はマクロ...
-
Access終了時にマクロまたはVBA...
-
アクセス起動時にVBAを実行させ...
-
ExcelのVBAでDisplayalertsで警...
-
ExcelVBAで右クリックメニュー...
-
エクセル VBA SendKeys ループ...
-
マクロの自動記録機能について
-
InputBox内の表示について
-
アクセスのマクロについて
-
<<ACCESS2000>>マクロでクエリ...
-
シート保護を掛けたまま並べ替...
-
Workbook_Openを起動時以外に呼...
-
エクセル2003 リソース不足
-
エクセルのマクロボタンが編集...
-
アクセス:検索フォームボタンに...
-
アクセスの更新クエリをフォームで
-
マクロとモジュールの違いを教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別シートのマクロを実行する方法
-
Application.Runエラー(1004)
-
エクセルのマクロボタンが編集...
-
Access終了時にマクロまたはVBA...
-
エクセルVBAで、ボタンの文字を...
-
InputBox内の表示について
-
access2010 コマンドまたはアク...
-
シート保護を掛けたまま並べ替...
-
今日の日付の範囲を指定して印...
-
マクロ 戻るボタンを押したらシ...
-
エクセル VBA SendKeys ループ...
-
AccessでExcelファイルを印刷
-
ExcelのVBAでDisplayalertsで警...
-
マクロとモジュールの違いを教...
-
ExcelVBAで右クリックメニュー...
-
プロシージャが大きすぎます!
-
エクセルのマクロ
-
アクセス:検索フォームボタンに...
-
特定のシートだけ印刷はマクロ...
-
アクセスのマクロについて
おすすめ情報