シートのVBAコード
下記のVBAコードを追加してください。
'先頭ボタン
Private Sub CommandButton1_Click()
Dim sr As String
If ExFindMin(sr) Then
If ExDataChangeMsg = False Then
Exit Sub
End If
ExDataDisp sr
Else
Beep
End If
End Sub
'一覧から入力部にデータコピー
Private Sub ExDataDisp(srow As String)
Range("E3") = Sheets("一覧").Range(srow)
Range("C5") = Sheets("一覧").Range(srow).Offset(0, 1)
Range("C6") = Sheets("一覧").Range(srow).Offset(0, 2)
Range("C7") = Sheets("一覧").Range(srow).Offset(0, 3)
Range("C8") = Sheets("一覧").Range(srow).Offset(0, 4)
Range("C9") = Sheets("一覧").Range(srow).Offset(0, 5)
Range("F5") = Sheets("一覧").Range(srow).Offset(0, 6)
Range("F6") = Sheets("一覧").Range(srow).Offset(0, 7)
Range("F7") = Sheets("一覧").Range(srow).Offset(0, 8)
Range("F8") = Sheets("一覧").Range(srow).Offset(0, 9)
Range("F9") = Sheets("一覧").Range(srow).Offset(0, 10)
bDataChangeFlag = False
End Sub
'変更後、消去の確認
Private Function ExDataChangeMsg() As Boolean
Dim ans As Integer
ExDataChangeMsg = True
If bDataChangeFlag Then
Beep
ans = MsgBox("データが変更されています。消去されますがよろしいですか?", vbOKCancel, "顧客管理")
If ans = vbCancel Then
ExDataChangeMsg = False
End If
End If
End Function
'指定範囲から最小値を検索
Private Function ExFindMin(ByRef srow As String) As Boolean
Dim ans As Long
Dim tRange As Range
ExFindMin = False
'1列目の最小値を捜す
Set tRange = Sheets("一覧").Columns(1)
ans = Application.WorksheetFunction.Min(tRange)
'最小値のセルを取得
Set tRange = tRange.Find(What:=ans, LookIn:=xlValues, LookAt:=xlWhole)
If Not tRange Is Nothing Then
srow = tRange.Address(RowAbsolute:=False, ColumnAbsolute:=False)
ExFindMin = True
End If
End Function
シート画面
「登録」ボタンをクリックすると、一覧シートからコピーされます。
コピー元の一覧シート