-1

1列下に移動し、1つのセルを前のセルと比較して同じかどうかを確認するExcel用のVBAマクロを作成しようとしています。それらが同じである場合、何もせずに列を続けていきます。それらが同じでない場合は、その行の複数の列をコピーして、別のタブまたはスプレッドシートに貼り付けます。

基本的に、私のデータは 2 秒ごとに取得された圧力のリストであり、何千ものデータ ポイントがあります。圧力と経過時間のみをエクスポートして、より有用なデータ セットをはるかに小さくしたいと考えています。基本的に、データをクリーンアップして、圧力の変化と圧力が変化する時間のみを表示したいと考えています。

動作するマクロを見つけることができました。

Sub testIt()
Dim r As Long, endRow As Long, pasteRowIndex As Long

endRow = 3725 ' of course it's best to retrieve the last used row number via a function
pasteRowIndex = 1

For r = 1 To endRow 'Loop through sheet1 and search for your criteria

If Cells(r, Columns("C").Column).Value <> Cells(r + 1, Columns("C").Column).Value Then 'Found

        'Copy the current row
        Rows(r).Select
        Selection.Copy

        'Switch to the sheet where you want to paste it & paste
        Sheets("Sheet2").Select
        Rows(pasteRowIndex).Select
        ActiveSheet.Paste

        'Next time you find a match, it will be pasted in a new row
        pasteRowIndex = pasteRowIndex + 1


       'Switch back to your table & continue to search for your criteria
        Sheets("Sheet1").Select
End If
Next r
End Sub
4

1 に答える 1