シートイベント
下記のVBAコードを追加してください。
Option Explicit
'IDの登録チェック
Private Function ExFindID(id As Long, ByRef sc As String) As Boolean
Dim trange As Range
sc = ""
ExFindID = False
Set trange = Sheets("T取引先").UsedRange.Columns(1).Find(What:=id, LookIn:=xlValues, LookAt:=xlWhole)
If Not trange Is Nothing Then
'登録あり
sc = trange.Address
ExFindID = True
End If
End Function
Private Function ExInputCheck() As Boolean
Dim scell As String
Dim i As Integer
Dim lrow As Long
ExInputCheck = False
If Range("D3") = "" Then
Range("D3").Select
MsgBox "取引先IDは必ず入力してください。", , "取引先表"
Exit Function
End If
If Range("D4") = "" Then
Range("D4").Select
MsgBox "会社名は必ず入力してください。"
Exit Function
End If
'IDの登録チェック
If ExFindID(Range("D3"), scell) = True Then
Range("D3").Select
MsgBox "入力された取引先IDは会社名:" & _
Sheets("T取引先").Range(scell).Offset(0, 1) & _
" に既に登録されています。変更してください。", , "取引先表"
Exit Function
End If
'最終行を捜す
lrow = Sheets("T取引先").Range("A65536").End(xlUp).Row - 4
'入力データをコピー
For i = 1 To 11
Sheets("T取引先").Range("A5").Offset(lrow, i - 1) = Range("D" & 2 + i)
Next
End Function
Private Sub CommandButton1_Click()
ExInputCheck
End Sub
シート
■登録結果