初めまして。
現在、Excelのユーザーフォームにてcombobox1とcombobox2を連動させようと試行錯誤しているのですが、求めている内容がcombobox2に表示されません。combobox1にadditemメソッドで表示させて、combobox1に追加された理学療法士、作業療法士、言語聴覚士が選択された時に、combobox2に利用者名が表示されるようにしたいのですが、下記に記載してコード(①)を使用すると−1と表示されます。さらに繰り返し選択をすると−1が増えてきます(②)。利用者を取ってくるsheetsは(③)に添付しました。利用者は利用者が増えるごとに選択範囲を広げたり、縮めたりしたいと考えております。さらに考えている事としましては、利用者名が選択されたら、他のsheetsに利用者が担当している担当者を一覧で表示できるように考えております。
色々なサイトから引っ張ってきた内容ばかりで、自分でもなんとなくでしか理解していない内容も含まれています。
質問内容も分かりにくくなってしまい、大変申し訳ございませんが、必要コード、修正、アドバイスなどお願い致します。
①
Private Sub UserForm_Initialize() With ComboBox1 .AddItem "" .AddItem "理学療法士" .AddItem "作業療法士" .AddItem "言語聴覚士" End With End Sub ーーーーーーーーーーーーーーーーーーーーーーーーーーー Private Sub ComboBox1_change() Dim a As String Dim LASTROW1 As Long Dim LASTROW2 As Long Dim LASTROW3 As Long a = ComboBox1 LASTROW1 = Cells(Rows.Count, 3).End(xlUp).Row LASTROW2 = Cells(Rows.Count, 7).End(xlUp).Row LASTROW3 = Cells(Rows.Count, 11).End(xlUp).Row With UserForm1 .ComboBox2.Text = "" Select Case a Case "理学療法士" ComboBox2.AddItem Worksheets("療法士管理").Range(Cells(5, 3), Cells(LASTROW1, 3)).Select Case "作業療法士" Me.ComboBox2.AddItem Worksheets("療法士管理").Range(Cells(5, 7), Cells(LASTROW2, 7)).Select Case "言語聴覚士" Me.ComboBox2.AddItem Worksheets("療法士管理").Range(Cells(5, 11), Cells(LASTROW2, 11)).Select End Select End With End Sub
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/05 15:13
2019/11/05 15:28
2019/11/05 19:53
2019/11/06 01:18
2019/11/06 01:26
2019/11/06 13:47