Next,End Withのエラー
Sub 入力()
If Sheets("入力").Range("D3").Value = "" Then
MsgBox "客先名を入力して下さい"
Else
Dim K最終行 As Long
Dim T最終行 As Long
Dim i As Integer
With Sheets("入力")
For i = 3 To 12
If .Cells(i, "H").Value <> "" Then
U最終行 = Sheets("注文書").Range("G65536").End(xlUp).Row + 1
If U最終行 = 461 Then
MsgBox "注文書がいっぱいです"
Exit Sub
Else
End If
E最終行 = Sheets("営業確認").Range("G65536").End(xlUp).Row + 1
Sheets("営業確認").Range("k" & E最終行).Value = .Cells(i, "b").Value
Sheets("営業確認").Range("b" & E最終行).Value = .Cells(i, "c").Value
Sheets("営業確認").Range("c" & E最終行).Value = .Cells(i, "d").Value
Sheets("営業確認").Range("d" & E最終行).Value = .Cells(i, "e").Value
Sheets("営業確認").Range("g" & E最終行).Value = .Cells(i, "h").Value
Sheets("営業確認").Range("f" & E最終行).Value = .Cells(i, "i").Value
Sheets("営業確認").Range("i" & E最終行).Value = .Cells(i, "m").Value
Sheets("営業確認").Range("h" & E最終行).Value = .Cells(i, "p").Value
Else
End If
Select Case .Cells(i, "o").Value
Case "北"
K最終行 = Sheets("北").Range("h65536").End(xlUp).Row + 1
Sheets("北").Range("B" & K最終行).Value = .Cells(3, "C").Value
Sheets("北").Range("c" & K最終行).Value = .Cells(3, "b").Value
Case "中"
T最終行 = Sheets("中").Range("H65536").End(xlUp).Row + 1
Sheets("中").Range("b" & T最終行).Value = .Cells(3, "c").Value
Sheets("中").Range("c" & T最終行).Value = .Cells(3, "b").Value
End Select
Exit Sub
Dim Dummy As Worksheet
Dim SheetName As String
Dim OTA As Long
Dim GEN As Long
Dim SheetName2 As String
With Sheets("入力")
'3行目~22行目まで
For j = 3 To 22
SheetName = Sheets("入力").Range("D3").Value
On Error Resume Next
Set Dummy = Sheets(SheetName)
SheetName2 = .Cells(i, 14).Value
'もしシートがあれば・・・
If Err.Number = 0 Then
'SheetName2は入力シートのN行
SheetName2 = .Cells(i, 14).Value
OTA = Sheets(SheetName2).Range("B65536").End(xlUp).Row + 1
Sheets(SheetName2).Range("A7").Value = .Cells(3, "D").Value
Sheets(SheetName2).Range("C3").Value = .Cells(3, "C").Value
Sheets(SheetName2).Range("B" & OTA).Value = .Cells(i, "H").Value
Sheets(SheetName2).Range("I" & OTA).Value = .Cells(i, "I").Value
Sheets(SheetName2).Range("F" & OTA).Value = .Cells(i, "K").Value
Sheets(SheetName2).Range("H" & OTA).Value = .Cells(i, "L").Value
Sheets(SheetName2).Range("J" & OTA).Value = .Cells(i, "M").Value
'シートが無ければ・・・
Else
GEN = Sheets("原紙").Range("B65536").End(xlUp).Row + 1
Sheets("原紙").Range("A7").Value = .Cells(3, "D").Value
Sheets("原紙").Range("C3").Value = .Cells(3, "C").Value
Sheets("原紙").Range("B" & GEN).Value = .Cells(i, "H").Value
Sheets("原紙").Range("I" & GEN).Value = .Cells(i, "I").Value
Sheets("原紙").Range("F" & GEN).Value = .Cells(i, "K").Value
Sheets("原紙").Range("H" & GEN).Value = .Cells(i, "L").Value
Sheets("原紙").Range("J" & GEN).Value = .Cells(i, "M").Value
'原紙をコピーする
Sheets("原紙").Copy BEFORE:=Sheets(1)
'シートの名前を市場コードにする
Sheets(1).Name = SheetName
Next
End With
Exit Sub
On Error GoTo 0
Sheets("原紙").Select
Range("C3:E3,A7,B16:B35,F16:F35,H16:J35").Select
Range("H35").Activate
Selection.ClearContents
Sheets("入力").Select
Sheets("入力").Range("D3,G3:J12,L3:M12").Value = ""
Sheets("入力").Range("D3").Select
Range("B3").Formula = "=IF(D3="""","""",VLOOKUP(D3,'\\Seika-sv01\支店共有\マーケティング用\[担当者リスト.xls]リスト形式'!$B:$D,3,FALSE))"
MsgBox "入力が完了しました"
End If
End Sub
上記のようにマクロを組みましたがエラーが出てしまいます。
補足
ありがとうございます。(TT) End ifとnext の順番が違うというのが一番の原因かな?と自分なりには理解しました・・・が、もうひとつ甘えさせてください。「コンパイルエラー:nextに対応するforがありません」と出ますがどのような場合が想定されるのでしょうか?