| 
    
     |  | neptune さん、seg さん、アドバイスをありがとうございます! おかげさまで、プロシージャは動くようになったのですが、このままでは、毎回、質問しなければ、アレンジできないので、インデントについて、もう少し質問させてください。
 「1.は1.’と対応」という風に、対応していると思うものに、番号を振ってみたのですが、合っていますか?
 よろしくお願いします。
 
 
 '
 '「登録・更新」ボタンがクリックされたときの処理
 '
 Private Sub cmd登録・更新_Click()
 
 Dim chkStr As String  '入力チェックのメッセージ文
 Dim myRcdNum As Long  '現在のレコード番号
 Dim myMeiCnt As Integer '「受注伝票」シートの明細データの件数
 Dim tbEndRow As Long  '「TB_受注」シートの最後の行の行番号
 Dim r As Integer    '「TB_受注」シートの書き込み先の行をカウント
 Dim i As Integer    'カウンタ変数
 
 '----- 入力データのチェック -----
 '入力された明細データの件数を代入する
 myMeiCnt = Range("L36").Value
 
 '初期値を代入する
 chkStr = ""
 
 '担当者名が未入力の場合
 If IsEmpty(Range("L11")) Then            1.
 chkStr = "受付担当を入力してください。"
 Range("L11").Select               1.’
 
 '顧客名が未入力の場合
 ElseIf IsEmpty(Range("B6")) Then           2.
 chkStr = "顧客番号を入力してください。"     2.’
 Range("B6").Select
 
 '発送日が未入力の場合
 ElseIf IsEmpty(Range("B9")) Then           3.
 chkStr = "発送日を入力してください。"      3.’
 Range("B9").Select
 
 '品名が未入力の場合
 ElseIf myMeiCnt = 0 Then                4.
 chkStr = "明細データを入力してください。"      4.’
 Range("B17").Select
 
 '数量に空欄がある場合
 Else                         ←要らない?
 For i = 1 To 18                      5.
 If Not IsEmpty(Cells(16 + i, 2)) Then    'i行目の品名 6.
 If IsEmpty(Cells(16 + i, 9)) Then    'i行目の数量 7.
 chkStr = "数量が未入力の商品があります。"
 Cells(16 + i, 9).Select
 
 'Forループを抜ける
 Exit For
 ElseIf IsEmpty(Cells(16 + i, 10)) Then   'i行目の数量8.
 単位
 chkStr = "数量単位が未入力の商品があります。" 8.’
 Cells(16 + i, 10).Select
 
 'Forループを抜ける
 Exit For
 ElseIf IsEmpty(Cells(16 + i, 11)) Then   'i行目の単価9.
 chkStr = "単価が未入力の商品があります。"    9.’
 Cells(16 + i, 11).Select
 
 'Forループを抜ける
 Exit For
 End If                      7.’
 End If                        6.’
 Next                          5.’
 End If                            1.’
 
 '入力漏れがある場合はプロシージャを抜ける
 If chkStr <> "" Then                 10.
 MsgBox chkStr, vbCritical, "登録エラー"
 Exit Sub
 End If                        10.’
 
 '----- 入力データのチェック -----
 
 End Sub
 
 |  |