私はマクロ初心者なので、誰か助けて欲しいと思っています。ある条件を満たすデータシートからレポートを作成しようとしています。行内のすべてのデータ (セル) を取得する必要があります。たとえば、列 10 で条件 <1 を満たすデータを取得して、それらのセル/行を新しいシートにコピーする必要があります。Excel で関数が見つからないので、変更できる高度ではないマクロでうまくいくことを願っています。よろしくお願いします。
答え1
- すべてのデータを含むExcelシートのコピーを開きます
- ALT+を押しF11てVBAエディタを開きます
左ペインからsheet1を開き、以下のコードを挿入します。
Sub mymacro() For myrow = 1 To Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row If Cells(myrow, 8) < 1 Then i = i + 1 ActiveWorkbook.Sheets(1).Rows(myrow).Copy Destination:=ActiveWorkbook.Sheets(2).Rows(i) End If Next myrow End Sub
- シートに戻ってALT+を押してF8マクロを実行します
このコードは最後の使用行まで実行され、8 番目の列の値が 1 未満かどうかを確認し、そうであれば、行全体をシート 2 の次の空き行にコピーします。