前提・実現したいこと
何度か繰り返し処理を行っていると、ランダムで行が非表示になり、正しく値が取得できません。
エクセルとパソコンの再起動を行いましたが、変化ありませんでした。
もし原因に心当たりがあれば教えていただきたいです・・・
該当のソースコード
Sub フォルダ内のファイルを出力3() Application.Calculation = xlCalculationManual Application.EnableEvents = False read_folder = Range("A2") read_row = Range("B2") read_col = Range("C2") read_file = Dir(read_folder & "\") Dim i As Long, j As Integer, read_file_str As String '①14行目以降を空欄にし、セルの色をクリアにする Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets(1) i = read_row Do While ws.Cells(i, 1) <> "" 'Do While ws.Cells(i, 1).Value <> "" ws.Activate Range(Cells(i, 1), Cells(i, 14)) = "" Range(Cells(i, 1), Cells(i, 14)).Interior.ColorIndex = 0 i = i + 1 Loop Application.Calculation = xlCalculationManual Application.EnableEvents = False '②コピー元ファイルがなくなるまで繰り返す Do While read_file <> "" Application.DisplayAlerts = False read_file_str = read_file 'コピー元ファイルを展開 Workbooks.Open read_folder & "\" & read_file input_end_row = Range("B65536").End(xlUp).Row 'ファイルの中にデータがある場合のみかの動作を実行する If Range("B" & read_row) <> "" Then 'コピー元ファイルのデータをコピー Range(Cells(read_row, 1), Cells(input_end_row, read_col)).Copy 'コピー元ファイルを閉じる Workbooks(read_file).Close read_file = Dir() '集計ファイルにペースト output_end_row = Sheets("交換品集荷先住所").Range("B65536").End(xlUp).Row ThisWorkbook.Sheets("交換品集荷先住所").Activate Range("A" & output_end_row + 1).Select ActiveSheet.Paste 'ファイル名の記載 Range("N" & output_end_row + 1) = read_file_str Else '空白のファイルの場合、コピー元ファイルを閉じる Workbooks(read_file).Close read_file = Dir() End If Loop Application.DisplayAlerts = True '③A列に連番を振る Dim 指定行, 連番 指定行 = read_row 連番 = 1 output_end_row = Sheets("交換品集荷先住所").Range("B65536").End(xlUp).Row For i = 指定行 To output_end_row Cells(i, 1).Value = 連番 連番 = 連番 + 1 Next '④色つきセルの有無確認 Dim r As Range, Row As Long i = 0 Set r = Range("B14:L" & output_end_row) 'チェックする範囲を指定 Set C = Range("L10") '条件色セルを指定 For y = 1 To r.Columns.Count For x = 1 To r.Rows.Count Row = 13 + x If r(x, y).DisplayFormat.Interior.ColorIndex = 44 Then Range("M" & Row).Value = "○" i = i + 1 Else End If Row = Row + 1 Next x Next y MsgBox ("エラーは" & i & "件です") Range("M10") = i Application.Calculation = xlCalculationAutomatic Application.EnableEvents = True End Sub
試したこと
ステップインでは問題ありませんでした

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/04 06:56