電子書籍の厳選無料作品が豊富!

Sheet1のA列に数値が羅列していて
Sheet2のA列に入っている数値から
B列に入っている数値までのSheet1のA列の行を削除する作業を自動で行いたいです。

Sheet1のA列の1行目から
A   B   C
10.0
10.2
10.3
10.7
10.8
10.9
と数値が並んでいて

Sheet2のA列とB列にそれずれ数値が入ります。
A   B   C
10.0 10.3
10.8 10.9

上記からマクロ実行すると
Sheet1のA列には10.7の1行しか残らないようにしたいです。
A   B   C
10.7

マクロはSheet2のA列またはB列の数値が無くなるまで繰り返すようにしたいです。

説明下手ですみませんが、お分かりになる方教えてください。

A 回答 (1件)

こんなものはいかがでしょうか?



Sub Sample()

Dim データ終 As Long
Dim データ行 As Long
Dim 条件行 As Long

Sheets("Sheet1").Select
データ行 = 1
データ終 = Cells(Rows.Count, 1).End(xlUp).Row

Do While データ終 > データ行
For 条件行 = 1 To Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
If Cells(データ行, 1).Value >= Sheets("Sheet2").Cells(条件行, 1).Value Then
If Cells(データ行, 1).Value <= Sheets("Sheet2").Cells(条件行, 2).Value Then
Rows(データ行).Delete Shift:=xlUp
データ終 = データ終 - 1
データ行 = データ行 - 1
Exit For
End If
End If
Next
データ行 = データ行 + 1
Loop

End Sub
    • good
    • 0
この回答へのお礼

出来ました!
早い返答ありがとうございます!

お礼日時:2016/05/11 21:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!