私のコードで助けが必要です。論理は次のとおりです:もし彼らがすべて "完全"と言うなら、コードの第1行をシート2にコピーします。 "完了"以外の何かがシート3にコピーされていれば、 "完了" 。私はこの領域をデータで点滅させるweb_scraperを持っていて、それをソートする必要があります。 IMAGEは基本的にデータがどのように見えるかを示します。また、完全に(3)スペースがあるので、私は自分のコードに含めました。すべての列に「完了」と表示されている場合はsheet2に移動し、それ以外の場合はsheet3に移動します
Sub test()
Dim P, lastrow4
lastrow4 = Sheets("Sheet1").Range("a" & Rows.Count).End(xlUp).Row
For P = 1 To lastrow4
'****if complete****
'if row one is complete and row 2 is blank place in sheet 2
If Sheets("sheet1").Cells(P, "A").Value = "COMPLETE " And Sheets("sheet1").Cells(P + 1, "A").Value = "" Then
Sheets("Sheet1").Cells(P, "A").EntireRow.Copy Destination:=Sheets("sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
****/if not complete*********************
'if row 1 isn't complete and is not blank put in sheet 5
If Sheets("sheet1").Cells(P, "J").Value <> "COMPLETE " And Sheets("sheet1").Cells(P, "J").Value <> "" Then
Sheets("Sheet1").Cells(P, "J").EntireRow.Copy Destination:=Sheets("sheet3").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
Next P
End Sub
ありがとうございました。私のコードは一般的ではないかもしれないので、私はvbaに新しいです。しかし、私は思考プロセスを説明します。オフセットは2つの値を必要としません.1つしか入力されない場合は、行ごとにオフセットしたいと仮定します。そして、私のrows.countは最後の列を参照しています。つまり、私の実際の最後のセルが変わるので、私はa1:a2と言うことができないので、最後のセルを見つけるためにxlUPを使って最下行から上に移動します。しかし、私はそれを理解した、私は真または偽を返すためにブール変数を使用する必要があった。だから私はそれをsheet1に入れるように設定しました。真のままにしておき、残りの値をチェックする。 sheet2へのfalseコピーとsh1からの削除 – andrew