![](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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力 3 2023/01/25 00:12
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) vba Sleep関数について教えてください 1 2023/01/18 10:18
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) マクロについて教えてください。 4 2023/06/06 09:06
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで4096点以上のFFTの方法
-
あるプログラムのコマンドライ...
-
めんどくさがり屋はプログラマ...
-
ホームページのプログラムの見...
-
exeファイルしかないプログラム...
-
PICマイコンのコピー(クローン...
-
VBAにてメール作成した際、一部...
-
読み込み中にアクセス違反が発...
-
VB6.0でパスワードのかかったAc...
-
Excelに埋め込んだVBAのプログ...
-
こんにちは
-
VisualBasic2008の非ユーザーコ...
-
OPENGLで
-
プログラムを終了しても消えな...
-
VBAが止まります。
-
四次方程式をC言語を用い解きた...
-
C言語で移動平均のプログラムを...
-
CASLIIのプログラム(並び替え...
-
VBAでユーザーフォームが自動的...
-
COBOLでBLOCK CONTAINS句につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで4096点以上のFFTの方法
-
あるプログラムのコマンドライ...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
長距離・マラソンをやりながら...
-
Excelに埋め込んだVBAのプログ...
-
「Outlookが他のプログラムによ...
-
自動クエリとはどういうもので...
-
未使用の変数を一括検索する方法
-
読み込み中にアクセス違反が発...
-
VBAでユーザーフォームが自動的...
-
エクセルとワードをデスクトッ...
-
モジュール、アプリケーション...
-
テキストボックスのエンターキ...
-
画像を読み込むのと取り込むの...
-
Vba 実数および実数タイプの変...
-
インクリメント演算子のみを用...
-
main関数を先頭に置くデメリット
-
C言語でのaccess violationに...
-
Application.ScreenUpdatingが...
おすすめ情報