VBAを使っていて
ユーザーフォーム上にボタンを二つ配置します。
ボタン1を押すとsub 1が実行されます。
このプログラムで出力された変数を
ボタン2で実行するsub 2で使いたいのですが
どうすれば良いですか?
sub 1の中でcall subを使ってプログラム2を呼び出すということはしたくないのですが
このsub を終了しても変数が消えないようにするには
ワークシートのセルに代入するか
ユーザーフォームのテキストボックスなどに代入するしかないでしょうか?
この変数を外に出さずに隠さずに保存しておき
次のsub で使いたいのですが
何か良い方法はないでしょうか?
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の方法
-
PICアセンブラを出来る方、教え...
-
あるプログラムのコマンドライ...
-
エクセルとワードをデスクトッ...
-
Vba UserFormを前面に出す方法...
-
テキストボックスのエンターキ...
-
VBAにてメール作成した際、一部...
-
VBScriptで作成したプログラム...
-
パソコンで、SDカード(Fドライ...
-
Javaで売上ランキングを作成す...
-
FORTRANでGUIプログラム
-
ポケコンでのC言語のプログラミ...
-
寿命
-
WORD印刷できるがEXCE...
-
gifアニメ―ションを動画(mp4で...
-
DAOにてJET経由でのODBC接続とO...
-
arduinoでサーボモータを2つ同...
-
プログラムの行数
-
ファミコン時代のプログラムに...
-
はさみうち法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
Vba 実数および実数タイプの変...
-
インクリメント演算子のみを用...
-
スポーツ施設での出来事で心配...
-
VBAにてメール作成した際、一部...
-
VBAでユーザーフォームが自動的...
-
Excelに埋め込んだVBAのプログ...
-
Notepad++の関数リスト表示でC...
-
PICマイコンのコピー(クローン...
-
「Outlookが他のプログラムによ...
-
読み込み中にアクセス違反が発...
-
未使用の変数を一括検索する方法
-
自動クエリとはどういうもので...
-
エクセルとワードをデスクトッ...
-
binファイルってiphone専用です...
-
ドロップダウンリストの文字を...
-
UWSCで指定のフォルダを開きたい。
-
モジュール、アプリケーション...
-
パックマンプログラム
おすすめ情報