Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5295 / 76732 ←次へ | 前へ→

【77050】Re:エクセル マクロ ワークシート間の連動
発言  β  - 15/5/10(日) 13:49 -

引用なし
パスワード
   ▼ろん さん:

モジュールには
標準モジュール、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 が実行されます。
225 hits

【77046】エクセル マクロ ワークシート間の連動 ろん 15/5/10(日) 8:52 質問[未読]
【77047】Re:エクセル マクロ ワークシート間の連動 β 15/5/10(日) 9:37 発言[未読]
【77049】Re:エクセル マクロ ワークシート間の連動 ろん 15/5/10(日) 13:07 回答[未読]
【77050】Re:エクセル マクロ ワークシート間の連動 β 15/5/10(日) 13:49 発言[未読]
【77057】Re:エクセル マクロ ワークシート間の連動 ろん 15/5/10(日) 18:45 回答[未読]

5295 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free