プロが教える店舗&オフィスのセキュリティ対策術

特定の国で特定の商品コードの行だけ残して他全部削除したいです。
元データは10,000行くらいあります。
D列に国名が入っているのですが、特定の国を残し
H列に入っている商品コードも特定の商品コードを残し、残りの行は削除したいです。

残したい国名と商品コードは【設定】というシートを作成しC列、D列に記載してあります。
※すぐに変更したりできるように設定シートを利用したいと思っています。

先程まで国名だけで絞ればよかったので下記コードを記載したのですが
プラスして商品コードでも絞って削除したいのですが、
AND条件での絞り方をどうやって記載すればよいのか解らず教えていただけないでしょうか。

よろしくお願いいたします。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Sub 不要な行を削除したい()

With Application
.Calculation = xlCalculationManual
.EnableEvents = False
.ScreenUpdating = False
End With

Dim i As Long
Dim m1 As Long
Dim m2 As Long

'元データと設定の最終行を求める
m1 = Worksheets("元データ").Range("D" & Rows.Count).End(xlUp).Row
m2 = Worksheets("設定").Range("C" & Rows.Count).End(xlUp).Row

With Worksheets("元データ")

'フィルタで一致するもののみ表示する
.Range("D5:D" & m1).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Worksheets("設定").Range("C2:C" & m2)

'最終行から非表示になっている行を削除
For i = m1 To 2 Step -1
If .Rows(i & ":" & i).Hidden = True Then
.Rows(i & ":" & i).Delete Shift:=xlUp
End If
Next

'フィルタ解除
.ShowAllData

End With
End Sub

A 回答 (3件)

こんばんは



せっかくAdvancedFilter(=フィルタオプション)を使っているのですから、検索条件の範囲に複数条件を設定しておけばよいだけではないでしようか?

フィルタオプションの複数条件の例
(VBAではなく普通のエクセルの操作方法です)
https://office-hack.com/excel/filter-multiple/
    • good
    • 1
この回答へのお礼

ありがとうございます!!フィルタオプションの操作を試してみます。大変参考になりました

お礼日時:2020/12/28 10:10

元データで削除対象となるのは、


5行目からですか、それとも、2行目からですか。
フィルターは5行目からで、
削除は2行目まで行なっています。
一貫していません。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。気づいていませんでした!!!
修正いたします!!!

お礼日時:2020/12/28 10:11

IF 条件1=●● & 条件2=●● Then



または
 
IF 条件1=●● Then
  IF条件2=●● Then
    • good
    • 0
この回答へのお礼

ありがとうございます!
基本に戻りやってみます!

お礼日時:2020/12/28 10:05

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A