FOR内のWHILE内でIFを実行しようとしています。 FORとIFは、想定されているように動作しています。しかし、最初の成功の後にWHILEを実行し、それが再びWHILEから戻って来るのは、一度しか流れず、残りの行を調べません。ここでは、コードです:"WHILE"がExcel VBAマクロで最初に実行された後に壊れています
'COPY EACH PO TO ITS OWN SHEET ............................................
'set the sequence variable
For x = 1 To 50
Dim LSearchRow, LCopyToRow As Integer
'Start search in row 1
LSearchRow = 2
'Start copying data to row 2 in PO40 (row counter variable)
LCopyToRow = 2
'run the copy script for each PO
While Len(Range("C" & CStr(LSearchRow)).Value) > 0
'If value in column H = "sequence match", copy entire row to its particular sheet
If Range("H" & CStr(LSearchRow)).Value = x Then
'Select row in Sheet1 to copy
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Copy
'Paste row into its particular sheet in next row
sheets("PO" & x).Select
Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
ActiveSheet.Paste
'Move counter to next row
LCopyToRow = LCopyToRow + 1
End If
LSearchRow = LSearchRow + 1
sheets(1).Select
Application.CutCopyMode = False
Wend
sheets("PO" & x).Select
Cells.Select
Cells.EntireColumn.AutoFit
Next x
範囲(c2、c3 ... cn)にデータが入力されていますか?画像をアップロードできますか?あなたの中断は期待どおりに動作しているようです... – csanjose
A〜Gは検索シート(シート1)の行37までのデータを持っています – James
私のシートにはC列のデータとステップバイステップのデバッグ正常に動作します。 Plzは我々にExcelシートを表示 – csanjose