|
▼β さん:
大変ありがとうございます。
参考にさせていただきます。
助かりました。
>▼ろん さん:
>
>モジュールには
>標準モジュール、ThisWorkbookモジュール、Sheetモジュール、ユーザーフォームモジュール
>そして特別な存在としてクラスモジュールがあります。
>VBAをこれから勉強ということであれば、まず標準モジュールを基本にすればよろしいかと思います。
>その他のモジュールは、オブジェクトモジュールと総称。特殊なイベント処理に使用するのが主目的。
>今回、ユーザーフォームも使っておられるようですが、もし、別マクロブックを開くことのみがその目的であれば
>これも標準モジュールで処理したほうが、わかりやすいと思います。
>それぞれのモジュールをどう使い分けるか、それは、やりながら、おいおいにわかってくると思いますが
>以下のページで、わかりやすく説明されていますので一読されたらよろしいですね。
>
>ht p://officetanaka.net/excel/vba/beginner/10.htm
>ht p://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_200_040.html
>ht p://www.happy2-island.com/excelsmile/smile01/capter00400.shtml
>
>で、サンプル的に。
>
>1.ワークブック1に標準モジュールを準備。
>2.その標準モジュールに以下のマクロを書きます。
>
>Sub Test1()
>
> '★ワークブック2 を開くコードをここに記述
>
> 'ワークブック2 の Test2 を実行
> Application.Run "ワークブック2.xlsm!Test2"
>
> '★後続の処理コードをここに記述
>
> '★必要なら、ここでワークブック2を閉じるコードを書きます
>
>End Sub
>
>3.ワークブック1のシート(どのシートでもいいですが、最初のシートにしましょう)に
> 開発タブ->挿入 から、フォーム今tロールのボタンを配置します。
>4.マクロ登録ダイアログが表示されますから、Test1 を選択します。
> これで、このボタンがクリックされたら、Test1が起動するようになります。
>5.デザインモードになっていますので、デザインモードをクリックして解除します。
>
>で、次に ワークブック2 側。
>
>6.標準モジュールを準備します。
>7.ここに、Test2 プロシジャを書きます。
>
>Sub Test2()
>
> '★このプロシジャで実行すべきコードを記述。
>
> '以下はテスト用です
> MsgBox "Hello!"
>
>End Sub
>
>こうして、ワークブック1側のボタンをクリックしてください。
>ワークブック2側のプロシジャ、Test2 が実行されます。
|
|