ユーザーフォーム上のコンボボックスから値を選択し、その値を変数として使いたいのですが、うまくいきません。
コンボボックスのコードで
Private Sub ComboBox1_Change()
moji1 = ComboBox1.Text
Range("A1").Value = moji1
のようにすれば、コンボボックスから値を選んだ時点でA1セルにその値をコピーできるのですが、同じユーザーフォーム上にあるコマンドボタンをクリックして実行する「マクロ1」にてこのmoji1という変数を使いたいのです。
マクロ1にて、上記と同じ
Range("A1").Value = moji1
というコードを記述しても、ユーザーフォームで選択した値が消えており、empty値となってしまいます。
原因をご存知の方はお教えください。
No.2
- 回答日時:
こんばんは。
プロシージャ内は、プロシージャレベル変数で、その範囲だけですが、変数を他のプロシージャで使用するなら、プロシージャの外に、モジュールレベル変数のMoji1 を置けば十分だとは思うけれども、以下のように、直接、ComboBox1の値をとればよいのでは?なお、モジュールレベル変数も、UserForm モジュールですから、ローカル変数です。
Private Sub CommandButton1_Click()
If ComboBox1.Text <> "" Then
Range("A1").Value = ComboBox1.Text
End If
End Sub
No.1
- 回答日時:
Private Sub ComboBox1_Change()
で、定義された変数(moji1)は、ローカル変数になるので、
Private Sub ComboBox1_Change()の中でしか有効ではありません
マクロ1で、Range("A1").Value = moji1 としても、このmoji1は
名前は同じでも、中身は別になります
moji1 をグローバル変数として定義すれば、ご希望の動作をさせることが出来ます
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
ただ、ひとつの変数を使いまわすと、マクロが大きくなるに従いミスの原因となる可能性が大きくなりますよ
マクロ1で、改めて
moji1 = ComboBox1.Text
で、読み込むか
"A1"に書き込んだ後なら、"A1"から読み込んだ方が良いと思います
moji1 = Range("A1").Value
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Excel(エクセル) 【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて 3 2023/03/08 17:41
- Excel(エクセル) Excelのマクロについて 2 2022/06/14 03:38
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
【Excel VBA】コンボボックスで選択した値の取得
Excel(エクセル)
-
コンボボックス内の文字サイズ変更
Excel(エクセル)
-
UserForm1.Showでエラーになります。
工学
-
-
4
VBAコンボボックスの内容が反映されない
その他(プログラミング・Web制作)
-
5
コンボボックスの文字によるif文の作成
Visual Basic(VBA)
-
6
コンボボックスにリストが表示されません・・・
Excel(エクセル)
-
7
VBAでシートからコンボボックスにデータを設定する方法
Visual Basic(VBA)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
ユーザーフォームのテキストボックスに前回入力した値を表示する Excel
Visual Basic(VBA)
-
10
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
11
VBA コンボボックスとテキストボックスを連結させたい
Visual Basic(VBA)
-
12
Excel コンボボックスの値参照
Excel(エクセル)
-
13
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
14
EXCEL VBA コンボボックス、テキストボックスが未入力のときメッセージを表示する方法
Excel(エクセル)
-
15
VBAでオプションボタンによってコンボボックスの内容を変える方法
Visual Basic(VBA)
-
16
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
17
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
18
EXCELのコンボボックス 配置の縦位置の変更はどうすれば?
Windows Vista・XP
-
19
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
-
20
コンボボックス3つを連動させたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
エクセルでエラーが出て困って...
-
納豆食べた後の尿の納豆臭は何故?
-
中出しをするとお腹が痛い・・・。
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
尿検査の前日は自慰控えたほう...
-
勃起する時って痛いんですか? ...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
小数点以下を繰り上げたものを...
-
これって喉仏ですか? 私は女性...
-
風俗店へ行く前のご飯
-
EXCELで条件付き書式で空白セル...
-
テスターで断線を調べる方法教...
-
精子が黄色?
-
麻疹風疹の抗体検査結果につい...
-
EXCELの条件付き書式で数式を空...
-
エクセルのラベルの値(文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
エクセルでエラーが出て困って...
-
中出しをするとお腹が痛い・・・。
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
勃起する時って痛いんですか? ...
-
納豆食べた後の尿の納豆臭は何故?
-
精子が黄色?
-
至急!尿検査前日にオナニーし...
-
小数点以下を繰り上げたものを...
-
これって喉仏ですか? 私は女性...
-
値が入っているときだけ計算結...
-
口の中に黒い血の塊
-
舌の裏の痛みのないプツプツの...
-
甲状腺が腫れているが血液検査...
-
Excelで""で囲む方法
-
健否~書類の書き方~
-
リンク先のファイルを開かなく...
おすすめ情報