- ベストアンサー
抜き出しマクロについて
- 抜き出しマクロについての質問です。10行ごとにデータを抜き出すプログラムに加えて、前回の結果より10増減があった時や20結果の増減があった時にもデータを抜き出す方法を教えてください。
- 抜き出しマクロについての質問です。10行ごとにデータを抜き出すプログラムに加えて、前回の結果より10増減があった時や20結果の増減があった時にもデータを抜き出す方法をご教授ください。
- 抜き出しマクロについての質問です。10行ごとにデータを抜き出すプログラムに追加して、前回の結果より10増減があった場合や20結果の増減があった場合にもデータを抜き出す方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Sub 抽出() Dim i As Long Dim j As Long Dim ws1 As Worksheet Dim ws2 As Worksheet Dim Lastline As Long Dim SelFlg As Boolean '抽出データかどうかの Set ws1 = Worksheets("OriginDT") '元データ Set ws2 = Worksheets("SelectDT") '抽出データ Lastline = ws1.Cells(Rows.Count, 1).End(xlUp).Row '最終行番号を取得 ws2.Cells(1, 1) = ws1.Cells(1, 1) '見出し部分のコピー ws2.Cells(1, 2) = ws1.Cells(1, 2) j = 1 For i = 2 To Lastline SelFlg = False '10で割ったあまりが1(つまり10行おき)または最初のデータのとき If i Mod 10 = 1 or i=2 Then ' SelFlg = True '抽出対象にする End If '2行目以降で一つ上の行との差が10以上のとき If i > 3 And Abs(Cells(i, 1) -Cells(i - 1)) >=10 Then SelFlg = True '抽出対象にする End If If SelFlg = True Then '抽出対象だったらコピー j = j + 1 ws2.Cells(j, 1) = ws1.Cells(i, 1) ws2.Cells(j, 2) = ws1.Cells(i, 2) End If Next End Sub 条件が増えたらif文を追加すればいい。(orになります。)