ユーザーフォームのコード
下記のVBAコードを追加してください。
'IDからセル位置を探す
Private Function ExCopyToSheetCheck(id As Long, ByRef srow As String) As Boolean
Dim lrow As Long
Dim tRange As Range
Dim s As String
srow = ""
ExCopyToSheetCheck = False
s = ""
lrow = Sheets("検索").Range("A1048576").End(xlUp).Row
If lrow = 1 Then
srow = "A2"
Else
Set tRange = Sheets("検索"). _
Range("A2", Sheets("検索").Range("A2").Offset(rowOffset:=lrow)). _
Find(What:=id, LookIn:=xlValues) '
If Not tRange Is Nothing Then
srow = tRange.Address
ExCopyToSheetCheck = True
Else
srow = "A" & lrow + 1
End If
End If
End Function
'次へボタン
Private Sub CommandButton4_Click()
Dim sr As String
If Sheets("入力").Range("E3") = "" Then
Beep
Else
If IsNumeric(Sheets("検索").Range("CT5")) Then
ExCopyToSheetCheck Sheets("検索").Range("CT5"), sr
ExDataDisp sr
Else
CommandButton4.Enabled = False
Beep
End If
End If
End Sub
シート画面
次へボタンをクリックすると、現在表示されている顧客IDより一つ大きい顧客IDを検索フォーム内で探し、見つかれば、入力フォームにそのレコードを表示します。
下では、フリガナに「イ」が含まれる顧客を抽出しています。
見つからなければ、ブザーを鳴らし、「次へ」ボタンを使用できないようにします。