
VBA初心者です。VBAでユーザーフォーム1を作成し、それぞれ「日報」というシートに張り付けることには成功しておりますが、「事業所名」を選択後、「管理番号」「施設名」のコンボボックスで検索、連動がうまくいきません。コンボボックス3「事業所名」で.AddItem "第1事業部".AddItem "第2事業部"他3事業所名と設定し、シート名「全施設」より、コンボボックス4「管理番号」(B2:B2000)で検索、同じくシート名「全施設」でコンボボックス5「施設名」(C2:C2000)を検索連動がうまくいきません。いろいろと検索して、設定しても思ったように出来ませんでした。アドバイスをよろしくお願い致します。

No.3ベストアンサー
- 回答日時:
No.2です。
細かい検証をしていませんでした。
コンボボックス4のコードを変更してください。
Private Sub ComboBox4_Change()
ComboBox5.Clear
Set myDic = CreateObject("Scripting.Dictionary")
With Worksheets("全施設")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
myR = Range(.Cells(2, "A"), .Cells(lastRow, "C"))
For i = 1 To UBound(myR, 1)
If myR(i, 1) = ComboBox3 And myR(i, 2) = ComboBox4 Then
myStr = ComboBox3 & "_" & ComboBox4 & "_" & myR(i, 3)
If Not myDic.exists(myStr) Then
myDic.Add myStr, ""
End If
End If
Next i
End With
myKey = myDic.keys
For i = 0 To UBound(myKey)
myAry = Split(myKey(i), "_")
ComboBox5.AddItem myAry(2)
Next i
Set myDic = Nothing
End Sub
※ 前回のコードでは不要なものまで表示されてしまいました。
※ 前回書き忘れましたが、
コンボボックス3 → コンボボックス4 → コンボボックス5 の順での選択としています。
どうも失礼しました。m(_ _)m
ありがとうございます!思い通りに出来ました‼初心者の私に優しく対応してくださり本当に感謝いたします。またわからないことがありましたら、お力添えをお願いしたく思います。重ねてお礼申し上げます。
No.2
- 回答日時:
こんにちは!
コンボボックス3~5だけの処理で良いのですね。
一例です。
尚、お示しの上側の画像のようにコンボボックス3~5に表示するデータは「全施設」シートのA~C列にあるものとします。
Dim myDic As Object
Dim i As Long, lastRow As Long
Dim myStr As String
Dim myKey, myItem, myR, myAry
Private Sub UserForm_Initialize()
'//コンボボックス3~5以外の処理 ←すでに出来ているものとする//
'//▼ココから処理//
ComboBox3.Clear
ComboBox4.Clear
ComboBox5.Clear
Set myDic = CreateObject("Scripting.Dictionary")
With Worksheets("全施設")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
myR = Range(.Cells(2, "A"), .Cells(lastRow, "A"))
For i = 1 To UBound(myR, 1)
If Not myDic.exists(myR(i, 1)) Then
myDic.Add myR(i, 1), ""
End If
Next i
End With
myKey = myDic.keys
For i = 0 To UBound(myKey)
ComboBox3.AddItem myKey(i)
Next i
Set myDic = Nothing
End Sub
Private Sub ComboBox3_Change()
ComboBox4.Clear
ComboBox5.Clear
Set myDic = CreateObject("Scripting.Dictionary")
With Worksheets("全施設")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
myR = Range(.Cells(2, "A"), .Cells(lastRow, "B"))
For i = 1 To UBound(myR, 1)
If myR(i, 1) = ComboBox3 Then
If Not myDic.exists(myR(i, 2)) Then
myDic.Add myR(i, 2), ""
End If
End If
Next i
End With
myKey = myDic.keys
For i = 0 To UBound(myKey)
ComboBox4.AddItem myKey(i)
Next i
Set myDic = Nothing
End Sub
Private Sub ComboBox4_Change()
ComboBox5.Clear
Set myDic = CreateObject("Scripting.Dictionary")
With Worksheets("全施設")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
myR = Range(.Cells(2, "A"), .Cells(lastRow, "C"))
For i = 1 To UBound(myR, 1)
myStr = myR(i, 1) & "_" & myR(i, 2) & "_" & myR(i, 3)
If Not myDic.exists(myStr) Then
myDic.Add myStr, ""
End If
Next i
End With
myKey = myDic.keys
For i = 0 To UBound(myKey)
myAry = Split(myKey(i), "_")
ComboBox5.AddItem myAry(2)
Next i
Set myDic = Nothing
End Sub
こんな感じでどうなりますか?m(_ _)m
No.1
- 回答日時:
まぁ15年位前からこのような質問はあって解説サイトも増えてきてますが、もしまだご覧になってないなら一度試されては?
Excel VBA 複数(3つ以上)のコンボボックスに連動するリストを登録する
https://officedic.com/excel-vba-howto-combobox-3 …
ご連絡ありがとうございます。お知らせくださいましたサイトは真っ先に見たのですが、自分で作成したテキスト1からコンボボックス2迄のコードにプラスしてどうしたら続けられるのか、初心者には考えが至らず皆様のお力添えにすがってしまいました。いきなり皆様にお伺いするのは失礼と思い、上記サイトの他もさんざん見て、試してみてやっぱりうまくいかず、最後の最後にお願いに参りました。自力で何とかしようとした事だけはご理解ください。また困ったことがありましたら、ご教示くださいますようお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
UserForm1.Showでエラーになります。
工学
-
コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで
Excel(エクセル)
-
VBAコンボボックスで選択した値をシートに転記したい
Visual Basic(VBA)
-
-
4
コンボボックスの文字によるif文の作成
Visual Basic(VBA)
-
5
ユーザーフォームでのリストボックス連動(VBA)
Visual Basic(VBA)
-
6
Excel VBA 複数選択したリストボックスからテキストボックスに転記したいです。
Visual Basic(VBA)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
コンボボックスの中身を任意順で並べ替え VBA
Excel(エクセル)
-
9
ユーザーフォーム、コンボボックスで重複せず選択リストを表示させるには
Excel(エクセル)
-
10
エクセル VBA ユーザーフォーム リストボックスで選択した値をテキストボックスに自動表示
Visual Basic(VBA)
-
11
Excel 複数マスタからのコンボボックス連動
Excel(エクセル)
-
12
ユーザーフォームのテキストボックスに前回入力した値を表示する Excel
Visual Basic(VBA)
-
13
Accessクエリ 複数フィールドを対象に空白の場合は全件表示したい
Access(アクセス)
-
14
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
15
EXCELのコンボボックス 配置の縦位置の変更はどうすれば?
Windows Vista・XP
-
16
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
17
[エクセルVBA] コンボボックスのリストの更新方法について
Excel(エクセル)
-
18
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
19
EXCEL VBAのコンボボックスに取り込むリストについて
Excel(エクセル)
-
20
EXCEL VBA コンボボックス、テキストボックスが未入力のときメッセージを表示する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
子供を手放すには?
-
お礼状を書きたいのですが、施...
-
施設名と法人名
-
IABP インターナルトリガーに...
-
浄水場近くの物件
-
選挙間近になって貯水池の底が...
-
アスレチック建設費
-
18歳未満の深夜外出について 静...
-
デイサービスでのDVD鑑賞は著作...
-
NPO法人きずなの会についての質...
-
施設を設けるって日本語は変で...
-
福祉関係に就職したいと思い就...
-
お酒は?
-
知的障害者更生施設と知的障害...
-
ユーザーフォーム 3つのコンボ...
-
同じ施設にLOFTとPLAZAがあった...
-
意味が分かりません…
-
施設暮らしですが、施設の暮ら...
-
運動音痴なのにすごいスポッチ...
-
平均介護度の計算方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
浄水場近くの物件
-
子供を手放すには?
-
同じ施設にLOFTとPLAZAがあった...
-
デイサービスでのDVD鑑賞は著作...
-
施設名と法人名
-
IABP インターナルトリガーに...
-
運動音痴なのにすごいスポッチ...
-
旅先ホテルの柔らかすぎるマッ...
-
お礼状を書きたいのですが、施...
-
18歳未満の深夜外出について 静...
-
乳児院や児童福祉施設で保護し...
-
かみさり方式とセントラルキッ...
-
ユーザーフォーム 3つのコンボ...
-
NPO法人きずなの会についての質...
-
自衛隊の庁隊舎とはなんですか?
-
アスレチック建設費
-
施設を設けるって日本語は変で...
-
「その施設の法的背景」という...
-
「ハコ物(またはハコもの)」の...
-
福祉施設を建てたら地価 価値...
おすすめ情報
作成したユーザーフォームです。
日報の画像です。