プロが教える店舗&オフィスのセキュリティ対策術

VBA初心者です。
顧客リストを作成しています。
コンボボックスで担当者を選択した場合、下記コードをどう記せば良いかご教示ください。
イメージは担当者A選択時はSheet1を。担当者B選択時はSheet2を選択。担当者CはSheet3を選択みたいに。
Sheet別に顧客データを管理しています。
(※初心者につき可能であればサンプルコードを記していただければありがたいです)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Private Sub 検索_Click()

'検索を実行します。部分一致検索。
Dim lastrow As Long
Dim myData, myData2(), myno
Dim i As Long, j As Long, cn As Long
Dim DateFrom As String
Dim DateTo As String


'検索対象がない場合の警告
If 検索ボックス.Text & 検索ボックス2.Text & 検索ボックス3.Text & 検索ボックス4.Text & 検索ボックス5.Text & 検索ボックス6.Text & 検索ボックス7.Text & 検索ボックス8.Text = "" Then
MsgBox "検索対象を入力してください。"
Exit Sub
End If

'検索するデータを配列 myData に格納。
With Worksheets("sheet1")


lastrow = .Cells(Rows.Count, 1).End(xlUp).Row
myData = .Range(.Cells(1, 1), .Cells(lastrow, 11)).Value
End With

'配列 myData の中で検索で一致したデータを配列 myData2 に格納しています。
ReDim myData2(1 To lastrow, 1 To 11)
For i = LBound(myData) To UBound(myData)
If myData(i, 4) Like "*" & 検索ボックス.Value & "*" Then
If myData(i, 3) Like "*" & 検索ボックス2.Value & "*" Then
If myData(i, 8) Like "*" & 検索ボックス3.Value & "*" Then
If myData(i, 9) Like "*" & 検索ボックス4.Value & "*" Then
If myData(i, 11) Like "*" & 検索ボックス7.Value & "*" Then
If myData(i, 5) Like "*" & 検索ボックス8.Value & "*" Then
If myData(i, 2) >= DateFrom And _
myData(i, 2) <= DateTo Then



cn = cn + 1
myData2(cn, 1) = myData(i, 1)
myData2(cn, 2) = myData(i, 2)
myData2(cn, 3) = myData(i, 3)
myData2(cn, 4) = myData(i, 4)
myData2(cn, 5) = myData(i, 5)
myData2(cn, 6) = myData(i, 6)
myData2(cn, 7) = myData(i, 7)
myData2(cn, 8) = myData(i, 8)
myData2(cn, 9) = myData(i, 9)
myData2(cn, 10) = myData(i, 10)
myData2(cn, 11) = myData(i, 11)


End If
End If
End If
End If
End If
End If
End If

Next i


'検索で一致したデータをリストボックスに表示。
With ListBox1
.ColumnCount = 11
.ColumnWidths = "0;70;200;80;190;100;70;230;80;80;90"
.List = myData2




If .List(0, 1) = "" Then
MsgBox "該当者がいません"
End If
End With


End Sub

A 回答 (2件)

Dim SH As Object


With Me.ComboBox?
If .ListIndex = -1 Then
MsgBox ("Please Selected rep")
Exit Sub
End If
Select Case .List(.ListIndex)
Case "A": Set SH = Sheet1
Case "B": Set SH = Sheet2
Case "C": Set SH = Sheet3
Case Else
Exit Sub
End Select
End With
'検索するデータを配列 myData に格納。
With SH
    • good
    • 0
この回答へのお礼

ご親切にありがとうございます。早速試したいと思います。
またの機会がございましたら何卒よろしくお願いいたします。

お礼日時:2022/02/07 20:19

その前に検索ボックスn(1個)だけ選択していないとかって場合はないのかな?


⇒若しくは2~3個とか。
    • good
    • 0
この回答へのお礼

貴重なご意見ありがとうございます。参考にさせていただきます。

お礼日時:2022/02/07 20:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!