リストボックスから値取得時のエラー
いつも助けていただきありがとうございます。
現在、ユーザーフォームを利用し一覧から検索し検索し、希望する事業所、氏名を、double clickで2ページ目に表示し、選択した様式に事業所名(A2)、氏名(B2)、作成日(A3)へを貼り付けたいとかんがえています。
一覧から事業所検索までは上手くいくのですが、事業所名、氏名、作成日を2ページ目に表示の際、型が一致しませんとでてエラーが出てしまう状態です。色々と検索、見直しなどしたのですがどうしても修正が聞かないので皆さんの知識をお借りしたいと思い質問させていただきます。
皆さんよろしくお願いします。
※2ページ目表示でエラーがでて先に進めていないので、選択様式へ希望するCellへの書き出しについてはまだコードは作成していません。
Cellへの書き出しは問題なく出来ると思うのですが、希望する様式を選択する際のコードのアドバイスなども一緒に教えていただければ嬉しいです。
よろしくお願いします。
Private Sub 検索ボタン_Click()
'検索を実行します。部分一致検索。
Dim lastrow As Long
Dim myData, myData2()
Dim i As Long, cn As Long
'検索対象がない場合の警告
If 氏名検索テキストボックス.Text = "" Then
MsgBox "検索対象を入力してください。"
Exit Sub
End If
'検索するデータを配列 myData に格納。
With Worksheets("名簿一覧")
myData = .Range(.Cells(1, 4), .Cells(Rows.Count, 1).End(xlUp)).Value
lastrow = .Cells(Rows.Count, 1).End(xlUp).Row
End With
'配列 myData の中で検索で一致したデータを配列 myData2 に格納。
ReDim myData2(1 To lastrow, 1 To 4)
For i = LBound(myData) To UBound(myData)
If myData(i, 2) Like "*" & 氏名検索テキストボックス.Value & "*" Then
cn = cn + 1
myData2(cn, 1) = myData(i, 2)
myData2(cn, 2) = myData(i, 3)
myData2(cn, 3) = myData(i, 4)
End If
Next i
'検索で一致したデータをリストボックスに表示。
With 検索表示リストボックス
.ColumnCount = 4
.ColumnWidths = "70;70;70"
.List = myData2
If .List(0, 1) = "" Then
MsgBox "該当者がいません"
End If
End With
End Sub
'ダブルクリックでセルを選択
Private Sub 検索表示リストボックス_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
With Worksheets("名簿一覧")
.Range(.Cells(検索表示リストボックス.List(検索表示リストボックス.ListIndex, 0) + 1, 1), .Cells(検索表示リストボックス.List(検索表示リストボックス.ListIndex, 0) + 1, 4)).Select
End With
'選択したリストのデータ参照
Dim 行番号 As Integer
行番号 = ActiveCell.Row
作成日ラベル.Caption = Format(Date, "yyyymmdd")
氏名.Text = Cells(行番号, 2)
会社名.Text = Cells(行番号, 3)
MultiPage1.Value = 1
End Sub