ExcelVBA初心者です。
ユーザーフォーム1でsheet1を選択した場合→次のユーザーフォーム2ではsheet1の内容を、
sheet2を選択した場合→sheet2の、sheet3を選択した場合→sheet3の
内容をそれぞれキャプションとして表示したいのですが、
なかなか上手く出来ません。
Private Sub UserForm_Initialize()
If UserForm1.ComboBox1 = Worksheets("Sheet1").Select Then
UserForm2.Caption = Worksheets("Sheet1").Range("B3").Value
ElseIf UserForm1.ComboBox1 = Worksheets("Sheet2").Select Then
UserForm2.Caption = Worksheets("Sheet2").Range("B3").Value
Else
UserForm1.ComboBox1 = Worksheets("Sheet3").Select
UserForm2.Caption = Worksheets("Sheet3").Range("B3").Value
End If
End Sub
としてみたのですが、どのシートを選択してもsheet3の内容が
ユーザーフォーム2のキャプションとして表示されてしまいます。
どのようにしたら良いでしょうか?
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
コンボボックスにどのような値があるかわかりませんが、
>If UserForm1.ComboBox1 = Worksheets("Sheet1").Select Then
If UserForm1.ComboBox1.Text = "Sheet1" Then
とかではないの?
或いは
UserForm2.Caption = Worksheets(UserForm1.ComboBox1.Text).Range("B3").Value
の一行だけとか?
なるほど。
If UserForm1.ComboBox1.Text = "Sheet1" Then
と置き換えたらすぐに出来ました!
大変助かりました。ありがとうございました!
No.2
- 回答日時:
こんにちは。
ご質問の内容から見て、勉強を兼ねてコードを組んでらっしゃると
思いました。ので具体的なコードは省略して調べるとっかかりを
ご提案します。
具体的なコードだけ知りたいということでしたら、n-jun様の回答を
参考にされる方がよいと思います。
今のコードでは常に最後のElseに該当していると思います。
もしガイドブック的なものをお持ちなら、デバッグ実行という方法を
調べて実行してみましょう。そして、
UserForm1.ComboBox1
Worksheets("Sheet1").Select
の二つにどんな値が入っているかを見てみましょう。実際には、
それぞれ色んな項目(プロパティ)があることが判りますし、
その中の何を使えばいいのかも調べられるようになります。
もし、こんな風に自分で調べてみたいという方針だけれども進め方が
見えないということでしたらまた聞いてください。
ありがとうございます。
ガイドブックで独学で勉強をしているもので、
どうやって調べたら良いか分からずにやみ雲に
コードを組んでいる状態なので、とても参考になりました。
デバック実行で調べてみます。
また質問することがあるかと思いますが、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
準・究極の選択
「年収1000万円で一生カレーライス」か 「年収180万円で毎日何でも食べ放題」 あなたはどちらを選びますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
ユーザーフォームが消えない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
変数名「cur」について
-
JANコードとPOSコードは同じ?
-
コードについて
-
VB2008でGetSystemTimeが正常に...
-
access2003 クエリSQL文に...
-
コンボボックスの複数列表示に...
-
Access DCountでの連番について
-
Excel VBA素人です。VBAで図形...
-
CString のGetAt で正しく文字...
-
同じようなコードでもコードを...
-
MessageBoxで表示される文字列...
-
excelのオートフィルターのリス...
-
ASCIIコード表の出力
-
オープンソースのオリジナルコ...
-
pythonにてseleniumを使うも、...
-
JIPS-Eコードのコード表について
-
エクセル関数について質問です。
-
Excel VBAでOpenTextのFieldInf...
-
1日に1人がこなせるプログラム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
JANコードとPOSコードは同じ?
-
1日に1人がこなせるプログラム...
-
Nullの使い方が不正です。
-
access2003 クエリSQL文に...
-
JavaScriptの定数名が取り消し...
-
COBOLの文法
-
ACCESSユニオンクエリでORDER B...
-
VBAでファイルオープン後にコー...
-
ペンダントライトのコードの色...
-
Exel VBA 別ブックから該当デ...
-
変数名「cur」について
-
特定行の背景色を変えたいのですが
-
PreviewKeyDownイベントが2回...
-
access2021 VBA メソッドまたは...
-
Accessでの抽出で完全一致。
-
VBA リストボックス(複数条件...
-
オートフィルタで抽出結果に 罫...
-
access でエラーを回避するには?
-
1、Rstudioで回帰直線を求める...
おすすめ情報