前提・実現したいこと
同じフォルダ内の複数のブックから条件にあったデータを抽出して貼り付ける作業を
繰り返し行います。
(抽出の条件)
・H列に値がある且つI列に値がない場合
発生している問題・エラーメッセージ
別な条件でH列に値がない場合の抽出は問題なくできております。
しかし、H列に値がなく且つI列に値がないものも抽出されてしまいました。
ご指導よろしくお願いします。
該当のソースコード
Sub 抽出() Dim dstRNG As Range Dim ブック名 As String Dim sh As Worksheet Dim sh2 As Worksheet Dim ws As Worksheet Dim IRow As Long Dim i As Long On Error Resume Next Set sh2 = Worksheets("抽出" & Format(Date, "yyyymmdd")) On Error GoTo 0 If sh2 Is Nothing Then Rows("22:22").Copy Set ws = Sheets.Add(After:=Sheets(Sheets.Count)) ws.Name = "抽出" & Format(Date, "yyyymmdd") Rows("4:4").Select Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False ActiveSheet.Paste Application.CutCopyMode = False End If Set dstRNG = ws.Range("A5") ブック名 = Dir(ThisWorkbook.Path & "*.xls?") Do Until ブック名 = "" If ブック名 <> ThisWorkbook.Name Then With Workbooks.Open(ThisWorkbook.Path & "\" & ブック名) For Each sh In .Worksheets lRow = sh.Cells(sh.Rows.Count, 4).End(xlUp).Row If lRow >= 11 Then With sh.Rows("11:" & lRow) .Copy dstRNG Set dstRNG = dstRNG.Offset(.Rows.Count) End With End If Next sh .Close False End With End If ブック名 = Dir() Loop lRow = Cells(Rows.Count, 4).End(xlUp).Row Application.ScreenUpdating = False For i = lRow To 5 Step -1 If Cells(i, 8).Value <> "" Then If Cells(i, 9).Value <> "" Then Rows(i).Delete End If End If Next i Application.ScreenUpdating = True End Sub
回答1件
あなたの回答
tips
プレビュー