![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
VBAを使っていて
ユーザーフォーム上にボタンを二つ配置します。
ボタン1を押すとsub 1が実行されます。
このプログラムで出力された変数を
ボタン2で実行するsub 2で使いたいのですが
どうすれば良いですか?
sub 1の中でcall subを使ってプログラム2を呼び出すということはしたくないのですが
このsub を終了しても変数が消えないようにするには
ワークシートのセルに代入するか
ユーザーフォームのテキストボックスなどに代入するしかないでしょうか?
この変数を外に出さずに隠さずに保存しておき
次のsub で使いたいのですが
何か良い方法はないでしょうか?
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
No.2ベストアンサー
- 回答日時:
実際にコーディングをした訳ではないのですが、
前のプログラムが終了して、次のプログラムが直ちに起動されるという前提であれば、
その場合は、クリップボードが使えるでしょう。
前のプログラムで、変数の値をクリップボードへ出力し、それを
次のプログラムで、クリップボードから取り込むことは可能です。
但し、次のプログラムが取り込む前に、クリップボードを他のプログラム若しくは人間が
破壊していないことが、前提です。
もし、上記の方法が、使えない場合は、
一旦外部の資源に保存するしかないでしょう。
外部資源は、
ワークシートのセル、
ユーザーフォームのテキストボックス
のほかに
ファイル、レジストリなどが考えられます。
No.3
- 回答日時:
「プログラムを終了しても保存」ならばレジストリに保存しておくしかありません。
あまりオススメはしませんが。
http://officetanaka.net/excel/vba/tips/tips43.htm
No.1
- 回答日時:
プログラミング初心者の方なんですかね。
それを前提として答えますが、そのような場合はどんな言語にも共通して言えることですが「グローバル変数を使う」ことが基本となります(もしくはパブリック変数とも言います)。VBAでグローバル変数を宣言する方法は以下を参照してください。Office TANAKA - VBAの変数[変数の適用範囲]
http://officetanaka.net/excel/vba/variable/05.htm
Excel VBA (その一) 変数、定数、ダイアログ、マクロ - SAK Streets
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
グローバル変数であっても
一度プログラムを終了するとリセットされてしまうのですが
どうすればプログラムを終了しても値を消えないようにできますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
PICマイコンのコピー(クローン...
-
ドロップダウンリストの文字を...
-
「Outlookが他のプログラムによ...
-
自動クエリとはどういうもので...
-
.cfgファイルについての質問
-
ゲーミングPCに入っているAlris...
-
Excelで4096点以上のFFTの方法
-
読み込み中にアクセス違反が発...
-
クリックするとページ内で説明...
-
VBAにてメール作成した際、一部...
-
寿命
-
CreateObject関数について
-
モジュール、アプリケーション...
-
VBで環境変数をSETする方法
-
エクセルとワードをデスクトッ...
-
プログラムでOSの再起動を遅延...
-
C言語でのaccess violationに...
-
binファイルってiphone専用です...
-
TMBMSRV.exeによるCPU使用率上昇
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
ホームページのプログラムの見...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
VBAでユーザーフォームが自動的...
-
Excelに埋め込んだVBAのプログ...
-
読み込み中にアクセス違反が発...
-
自動クエリとはどういうもので...
-
未使用の変数を一括検索する方法
-
「Outlookが他のプログラムによ...
-
XnViewにwebpを「いつも開く」...
-
モジュール、アプリケーション...
-
テキストボックスのエンターキ...
-
binファイルってiphone専用です...
-
ドロップダウンリストの文字を...
-
exeファイルしかないプログラム...
-
エクセルとワードをデスクトッ...
-
画像を読み込むのと取り込むの...
-
C言語でのaccess violationに...
おすすめ情報