こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

上記のようにマクロを組みましたがエラーが出てしまいます。

投稿日時 - 2010-01-30 13:25:33

QNo.5634967

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

WithとEnd With
ForとNext
IfとEnd If
これらの対応をもう一度見直してください。

投稿日時 - 2010-01-30 17:24:49

あなたにオススメの質問