
Excelのユーザーフォームについて教えてください。
【仕様】
シート1のセル
E3:E300にはF列に文字が入ると番号が連番で表示される
F3:F300にはユーザーフォーム1のテキストボックス1に入力された値をセルに反映
G3:G300にはユーザーフォーム1のテキストボックス2に入力された値をセルに反映
【作成済】
ユーザーフォーム1
テキストボックス1
テキストボックス2
コマンドボタン
ユーザーフォーム2
コンボボックス1
コンボボックス2
テキストボックス
コマンドボタン
ここまでは作成しています。
問題は、
①ユーザーフォーム2のコンボボックス1にE3~E500のうち、値が入力されているセルのみを反映させる(E3:E300内で空白があるセルは表示しない)
②ユーザーフォーム2のテキストボックスにユーザーフォーム2のテキストボックス1で選択されたE列に対応するF列の値を表示させる
③ユーザーフォーム2のコンボボックス2にはユーザーフォーム2のコンボボックス1で選択されたE列に対応するG列の値を表示させる
上記3点がどうしても不明です。
力をお貸しください。
No.1ベストアンサー
- 回答日時:
こんにちは!
要するにユーザーフォーム2だけの操作で良いのですね。
>②ユーザーフォーム2のテキストボックスにユーザーフォーム2のテキストボックス1で選択されたE列に対応するF列の値を表示させる
の「テキストボックス1で選択された・・・」は「コンボボックス1で選択された・・・」ですよね。
一例です。
ユーザーフォーム2のコードを↓にしたらどうなりますか?
Private Sub UserForm_Initialize()
Dim i As Long
For i = 3 To 500
If Cells(i, "E") <> "" Then
ComboBox1.AddItem Cells(i, "E")
End If
Next i
End Sub
Private Sub ComboBox1_Change()
Dim c As Range
Set c = Range("E:E").Find(what:=ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
TextBox1 = c.Offset(, 1)
ComboBox2 = c.Offset(, 2)
End Sub
※ 個人的には、G列データを表示させるのはコンボボックス(コンボボックス2)でなくて、
テキストボックスでもいいような気がしますが・・・
細かい検証はしていませんので、
お望みどおりにならなかったらごめんなさい。m(_ _)m
ありがとうございました!
E3:E300が正しいです。
教えて頂いた方法で1発で上手く行きました!
本当にありがとうございます。3日間苦戦してたので本当に助かりました。
No.2
- 回答日時:
No.1です。
投稿後気づいたのですが、
<仕様>のほうはE300までになっていますが、
質問文の①ではE500となっていますね。
前回のコードは500にしていますが、
実情に合わせて変更してください、m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ExcelVBA コンボボックスに入力があったらリンクしてテキストボックスを更新したい
Access(アクセス)
-
EXCEL VBAのコンボボックスに取り込むリストについて
Excel(エクセル)
-
VBAコンボボックスで選択した値をシートに転記したい
Visual Basic(VBA)
-
-
4
VBAのユーザーフォームで、テキストボックスを連携させたいのですが。
Visual Basic(VBA)
-
5
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
UserForm1.Showでエラーになります。
工学
-
8
エクセルVBA「リストボックスで選択した値をテキストボックスで変更してシート上セルに反映したい」
Excel(エクセル)
-
9
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
10
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
11
ユーザーフォームに日付を表示させる方法を教えてください。そして、実行したあとでも日付が変わるようなプ
Visual Basic(VBA)
-
12
Excel 複数マスタからのコンボボックス連動
Excel(エクセル)
-
13
コンボボックスにリストが表示されません・・・
Excel(エクセル)
-
14
コンボボックスからテキストボックスに連続して値を出したい
Excel(エクセル)
-
15
コンボボックスの文字によるif文の作成
Visual Basic(VBA)
-
16
Accessコンボボックスとテキストボックス連携
Visual Basic(VBA)
-
17
ユーザーフォーム、コンボボックスで重複せず選択リストを表示させるには
Excel(エクセル)
-
18
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
-
19
VBA コンボボックスで選んだものを各テキストボックスに反映
Visual Basic(VBA)
-
20
Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クリックイベントなのに、2回ク...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
Form_Load と Form_Activate の...
-
ユーザーフォーム上に現在日時...
-
エクセルのチェックボックスの...
-
エクセルVBAのフォームを最...
-
子フォームでDB更新後、親フォ...
-
アクセス2002 VBA
-
パソコンの画面に合わせてユー...
-
【Excel VBA】ユーザフォームを...
-
孫フォームのラベルやボタンの...
-
VBAでユーザーフォームを再表示...
-
ユーザーフォームのラベルに時...
-
エクセルVBA フォーム上でOnkey...
-
ユーザーフォームのテキストボ...
-
ExcelVBAのユーザーフォームでe...
-
Excelにて、ユーザーフォームで...
-
フォームのテキストボックスな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
ExcelVBAのユーザーフォームの...
-
モーダルフォームとモードレス...
-
Form_Load と Form_Activate の...
-
Hideについて(.NET)
-
VBAでユーザーフォームを再表示...
-
ユーザーフォームのテキストボ...
-
Excelにて、ユーザーフォームで...
-
EXCEL VBA ユーザーフォームの...
-
エクセルVBAのフォームを最...
-
ユーザーフォームのラベルに時...
-
フォームウィンドウを最前面に...
-
テキストボックス入力データの...
-
ユーザーフォーム上に現在日時...
-
ACCESSのフォーム、開くんです...
-
'ユーザーフォーム右上隅の[×...
-
VBA(エクセル)のユーザー...
-
パソコンの画面に合わせてユー...
おすすめ情報