| 
    
     |  | よろずや さん、ご親切にご回答をありがとうございます。 ですが、こちらも、同じ箇所の
 
 実行時エラー'13':
 型が一致しません。
 
 のエラーが出てしまいました。
 
 '----- 入力データのチェック -----
 '入力された明細データの件数を代入する
 myMeiCnt = Range("L36").Value   ←そして、ここが黄色く選択されます
 
 私の質問の仕方がまずかったかもしれません。
 エラーの出ない、当初の本に書かれてあった、サンプルコードは、以下のとおりです。
 
 '
 '「登録」ボタンがクリックされたときの処理
 '
 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("J23").Value
 
 '初期値を代入する
 chkStr = ""
 
 '受付担当が未入力の場合
 If IsEmpty(Range("D3")) Then
 chkStr = "受付担当を入力してください。"
 Range("D3").Select
 
 '顧客番号が未入力の場合
 ElseIf IsEmpty(Range("D7")) Then
 chkStr = "顧客番号を入力してください。"
 Range("D7").Select
 
 '商品番号が未入力の場合
 ElseIf myMeiCnt = 0 Then
 chkStr = "明細データを入力してください。"
 Range("C11").Select
 
 '数量に空欄がある場合
 Else
 For i = 1 To 10
 If Not IsEmpty(Cells(10 + i, 3)) Then    'i行目の商品番号
 If IsEmpty(Cells(10 + i, 8)) Then    'i行目の数量
 chkStr = "数量が未入力の商品があります。"
 Cells(10 + i, 8).Select
 
 'Forループを抜ける
 Exit For
 End If
 End If
 Next
 End If
 
 '入力漏れがある場合はプロシージャを抜ける
 If chkStr <> "" Then
 MsgBox chkStr, vbCritical, "登録エラー"
 Exit Sub
 End If
 End Sub
 
 よろずや さんのご指示のように、私が入れてみたコードは、以下の通りです。
 
 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
 chkStr = "受付担当を入力してください。"
 Range("L11").Select
 
 '顧客名が未入力の場合
 ElseIf IsEmpty(Range("B6")) Then
 chkStr = "顧客番号を入力してください。"
 Range("B6").Select
 
 '発送日が未入力の場合
 ElseIf IsEmpty(Range("B9")) Then
 chkStr = "発送日を入力してください。"
 Range("B9").Select
 
 '品名が未入力の場合
 ElseIf myMeiCnt = 0 Then
 chkStr = "明細データを入力してください。"
 Range("B17").Select
 
 '数量に空欄がある場合
 Else
 For i = 1 To 18
 If Not IsEmpty(Cells(16 + i, 2)) Then    'i行目の品名
 If IsEmpty(Cells(16 + i, 9)) Then    'i行目の数量
 chkStr = "数量が未入力の商品があります。"
 Cells(16 + i, 9).Select
 
 'Forループを抜ける
 Exit For
 ElseIf IsEmpty(Cells(16 + i, 10)) Then    'i行目の数量単位
 chkStr = "数量単位が未入力の商品があります。"
 Cells(16 + i, 10).Select
 
 'Forループを抜ける
 Exit For
 ElseIf IsEmpty(Cells(16 + i, 11)) Then    'i行目の単価
 chkStr = "単価が未入力の商品があります。"
 Cells(16 + i, 11).Select
 
 'Forループを抜ける
 Exit For
 End If
 End If
 Next
 End If
 
 '入力漏れがある場合はプロシージャを抜ける
 If chkStr <> "" Then
 MsgBox chkStr, vbCritical, "登録エラー"
 Exit Sub
 End If
 
 End Sub
 
 私のやりたかった事は、たぶん、こんな感じで、Else以下からを分岐させたかったのですが、なにぶん、初心者のため、対応する閉じタグ?のような、Endコードでしょうか?それが、どこがどこに対応しているのかが、わかりません。
 HTMLのタグのように、どれがどれに対応しているか、分かるようなビルダーみたいなソフトがあれば、いいんですが・・・
 
 申し訳ありませんが、何卒、よろしくお願いいたします。
 
 |  |