No.4ベストアンサー
- 回答日時:
こんばんは。
>私の知っているEXCELのマクロといえば、ツールメニューの・・・でした。
私は、人に教える手前、「シート・タブを右クリックして・・・」と教えているのは、そのシートモジュールがはっきりしないから、と思うからです。一般的に、それで取り付けるのは、イベントです。Sheet1 とSheet2を取り違えてしまったら、イベントは働きません。 実は、けっこうベテランの人でも、それを取り違えることがあります。
そして、それで開いたのは、シートというオブジェクトについているモジュール・ウィンドウです。コントロールツールのボタンなどにも、ありますね。それを右クリックして、コードの表示とすると、シートの中のオブジェクトだから、そのシートのモジュールに、コードのイベント(例:CommandButton1_Click() )などが、出来上がります。
>意外に簡単。だけど僕にはむづかしかったぁ・・本音です。
いいえ、私は、簡単ではないと思います。他の方が書いているのは、ローカルとパブリックの違いの話になるけれど、私は、後の話を全部割愛したのは、ややこしくなるだけの話だと思ったからです。
それと、基本的には、Personal.xls も他のブックと同じ扱いで、Excelでは、Wordと違い、なぜかグローバル化はされていません。(してもよいと思うのですが、MSの決めたことなので、理由は分かりません。手動では出来ますが、設定したという話を聞いたことがありません。その代わり、アドインがあるということかもしれません。事実、Personal.xls にあまり多くのマクロコードを詰め込むことは、良い習慣ではありません。)
あのう。。。ちょっと私には難しぃすぎるのですが・・・
って・・・あのWendy02さんでしたか。かくも丁寧に教えていただきありがとうございました。
正直、すぐにはご説明内容のすべてを理解するのは、ホント難しいですが、Wendy02さんのご説明を基本にして、理解力を深めたいと思います。
No.5
- 回答日時:
#4 の補足
あまりにも割愛しすぎて、内容が分かりにくいので、これを説明しておきます。
「基本的には、Personal.xls も他のブックと同じ扱いで、Excelでは、Wordと違い、なぜかグローバル化はされていません。」
グローバル化というのは、そのマクロがどこからでも使えるということです。
Sub GlobalMacro()
'
End Sub
というマクロがあるとすると、別のブックでも、あたかも、同じブックの標準モジュールのマクロのように使えるということです。
Sub Test
On Error Resume Next
'参照設定すれば良いが、そのままでは出来ない。
GlobalMacro
'これなら可能。
Application.Run "Personal.xls!GlobalMacro"
End Sub
通常はPersonal.xls にあっても、出来ません。また、例えば、ユーザー定義関数などが、それに当たります。いちいち、ブック名!ユーザー定義関数名 として呼び出さないと出来ません。本来だったら、Personal.xls との密接な関係を作っても良いはずなのに、他のブックと同様の位置しかありません。Personal.xls というのは、単に、Application の起動の際に、StartUp などに入れられて、呼び出されているだけだと思います。
Personal.xls ・・・あまり気にとめていなかったのですが、奥が深そうです。
>グローバル化というのは、そのマクロがどこからでも使えるということです
そういういみだったのか、と思いました。
ありがとうございました。
No.3
- 回答日時:
VBEの開き方がいろいろあるというだけ。
Alt+F11でも開きますよね。
もし各種コードウィンドウの違いを尋ねていらっしゃるなら、上記の説明では不足でしょうが。
No.2
- 回答日時:
どちらも「ツール」「マクロ」「VisualBasicEditor」で開く画面です。
この画面からマクロを記入する場所でマクロの有効な場所が変わります。
そのシートだけに有効なもの(WorkSheet)・・・シートの右クリックでのコード表示で開く場所
そのブックだけに有効なもの(WorkBook)
同時に開いているすべてのブックで有効なもの(標準モジュール)・・・新しいマクロの記録で挿入される場所
PC上のすべてのブックで有効なもの(個人用マクロブックPersonal.xls)・・・マクロ保存時に指定できます。
に分かれます。
No.1
- 回答日時:
基本的にはどちらも一緒だと私は思ってます。
Visual Basic Editor を開くとわかりやすいと思うのですが、
ツールメニューのマクロで[新しいマクロ]で作成するとモジュールとして作成されます。
シートを右クリックしてコードを表示すると、そのシートのコードが表示されます。
どう違うかというと、シートに記入したコードはそのシートでしか使用できません。
しかし、モジュールはそのブック全体(すべてのシート)で使用することができます。
たぶんその程度の違いだと思いますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAで「クエリと接続」の画面を出せますか? 2 2022/10/24 13:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) Excelの表をメールで指定日時に送る方法を教えてほしい 2 2023/04/07 16:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
複数ファイルにある特定のシー...
-
マクロ 実行ボタンを押さずに...
-
AccessのテーブルデータをExcel...
-
エクセルのマクロ機能で前のシ...
-
EXCELのセルへ、デジタル時計を...
-
エラーになってないのにVBA...
-
EXCEL 複数のシートの同一の位...
-
Excelマクロからのデータアクセ...
-
マクロボタンをある条件の時に...
-
Accessのクエリを実行するショ...
-
マクロ実行後元に戻すことは
-
【Excel VBA】エラー番号400
-
Excelのマクロを実行中に、ダウ...
-
モジュール内のマクロを全て実...
-
エクセルで土日列の非表示方法...
-
ワードマクロで画像を選択する方法
-
ワードで画像を自動で挿入する方法
-
エクセル グラフの軸の最小値最...
-
Excel VBA のdebug(F8キー) が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
複数ファイルにある特定のシー...
-
EXCELのセルへ、デジタル時計を...
-
Excel VBA のdebug(F8キー) が...
-
エラーになってないのにVBA...
-
Excelを開いた時に表示さ...
-
Wordで「原稿用紙○枚」を換算す...
-
ワードからエクセルへ貼り付け...
-
エクセルで複数のシートをまと...
-
エクセルのマクロ機能で前のシ...
-
エクセル グラフの軸の最小値最...
-
TeraTermのマクロについて
-
Excelの改ページ 同シート内で...
-
EXCEL 複数のシートの同一の位...
-
ワードで画像を自動で挿入する方法
-
Excelのワークシート上に検索窓...
-
モジュール内のマクロを全て実...
-
Excel2000 データの並べ替えで...
-
Excelマクロでオプションボタン...
おすすめ情報