Excel2007で顧客管理ソフトを作ってみよう

Step 10 「先頭」へレコード移動ボタンの処理

下記の順の動作になります。
(1)顧客No.の最小値を探す
(2)入力変更があればメッセージを表示
(3)一覧から入力部へデータをコピー


Homeへ > Excelでアプリケーションソフト2 > 顧客管理ソフト

シートの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



シート画面

「登録」ボタンをクリックすると、一覧シートからコピーされます。


コピー元の一覧シート


Homeへ > Excelでアプリケーションソフト2 > 顧客管理ソフト

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved