VBA
1Public Sub 入荷帳簿へ転記() 2'入荷入力シートJ列の値と同じ値のシート名のA列最終行に入荷入力シートのB:DとG:Hの値代入 3 4 Dim copyRow As Long 'コピー元の行番号 5 Dim copySheet As Worksheet 'コピー元のシート 6 Dim pasteRange As Range '転記先のRangeオブジェクト 7 Dim pasteSheet As Worksheet '転記先のシート 8 9 Set copySheet = Sheets("入荷入力") 10 11 For copyRow = 2 To 7 12 If IsError(copySheet.Cells(copyRow, "J").Value) = False Then 'エラーのセルはスキップする 13 Set pasteSheet = Sheets(copySheet.Cells(copyRow, "J").Value) 14 Set pasteRange = pasteSheet.Cells(Rows.Count, "A").End(xlUp).Offset(1) 15 pasteRange.Resize(, 3).Value = copySheet.Range(copySheet.Cells(copyRow, 2), copySheet.Cells(copyRow, 4)).Value 16 pasteRange.Resize(, 2).Offset(, 5).Value = copySheet.Range(copySheet.Cells(copyRow, 7), copySheet.Cells(copyRow, 8)).Value 17 End If 18 Next 19 20End Sub 21
エラーをスキップしたつもりなんですが、
Set pasteSheet = Sheets(copySheet.Cells(copyRow, "J").Value) の部分で
J列には、数式がはいっており、
値がある場合は、問題ありませんが、今回、5行目の数式の値がエラーとなり0という表記の場合、copyrow=5でエラーが起きてしまいます。
エラーのスキップ方法に問題があるのでしょうか?
直し方がわからず困っております。。。
申し訳ありませんが、知恵をお貸しいただきたく投稿させていただきます。
情報の過不足が有りましたら補足いたしますので、コメントいただければ幸いです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー