
特定の国で特定の商品コードの行だけ残して他全部削除したいです。
元データは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
No.2ベストアンサー
- 回答日時:
こんばんは
せっかくAdvancedFilter(=フィルタオプション)を使っているのですから、検索条件の範囲に複数条件を設定しておけばよいだけではないでしようか?
フィルタオプションの複数条件の例
(VBAではなく普通のエクセルの操作方法です)
https://office-hack.com/excel/filter-multiple/
No.3
- 回答日時:
元データで削除対象となるのは、
5行目からですか、それとも、2行目からですか。
フィルターは5行目からで、
削除は2行目まで行なっています。
一貫していません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
【VBA】条件に一致しない行を削除したい
Visual Basic(VBA)
-
Excel VBA A列が特定の値以外の場合、その行を削除
Excel(エクセル)
-
EXCEL VBA 条件に合致しない行を削除したい
Visual Basic(VBA)
-
4
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
-
5
VBAで特定の文字を含まない列の削除方法について
Excel(エクセル)
-
6
【Excel VBA】複数ある特定の文字列を含む行を削除
Excel(エクセル)
-
7
条件に一致しない行を全て削除した場合「ActiveSheet.ShowAllData」がエラーになる
Excel(エクセル)
-
8
【VBA】指定した検索条件に一致したら別シートに転記したい
Visual Basic(VBA)
-
9
VBAの比較削除マクロ
その他(Microsoft Office)
-
10
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
11
エクセル マクロ オートフィルの終点の指定について
Excel(エクセル)
-
12
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
13
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
14
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
15
VBAで文字列を数値に変換したい
Excel(エクセル)
-
16
VBAでのリスト不一致抽出について
Visual Basic(VBA)
-
17
【VBA】2つのシートの値を比較して条件一致したら、同じ行の隣の値を別ブックへ転記したいです。 VB
Visual Basic(VBA)
-
18
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
19
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
20
vba フィルター 複数条件 3つ以上 完全一致除外
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
エクセルで階層図を作る方法
-
5
Excel VBAでオートフィルタで抽...
-
6
数値に見えるものはすべて数値...
-
7
【VBA】条件に一致しない行を削...
-
8
WPSOffice_マクロの有効化について
-
9
ExcelのVBAコードについて教え...
-
10
Excelのマクロでボタンを押すと...
-
11
VBAで保存しないで閉じると空の...
-
12
エクセル関数>参照ファイル名...
-
13
EXcelのマクロで相対パスでファ...
-
14
ExcelのVBAコードについて教え...
-
15
VBA Shapes コピーと名前
-
16
エクセルでマクロを確認できな...
-
17
エクセルの、記録を終了したマ...
-
18
エクセルの表を複数枚印刷した...
-
19
EXCELをTEXTに一括変換出来ませ...
-
20
セルに入力するたびにマクロを...
おすすめ情報
公式facebook
公式twitter