
EXCEL_VBA初心者です。
大変申し訳ございませんが行削除EXCEL_VBAコードについてご教授願います。
「対象シート」に果物の項目があり
A列:種類No、B列:種類、C列:名称No、D列:名称、E列:金額
となっています。
この「対象シート」から必要な果物以外を行ごと削除したいと思っています。
「対象項目」のシートのA列に削除したい果物の種類Noが記載されています
「対象項目」のシートのC列には削除されたくない果物の名称Noが記載されています。
分かり難いのですが、「対象項目」のシートの種類に記載されている果物で名称に記載されている果物は削除せず、それ以外を削除したいです。
例えば、果物の種類No :01みかんの場合はAA清美、ABマドンナ、AE不知火の3名称は削除せず、その他のACセトカ、ADデコポンは削除する。
07柿の場合はCA富有柿は削除せず、CB おけさ柿は削除する
「対象シート」が「削除後」シートの結果になるEXCEL_VBAコードを教えて下さい。
実際は果物の品種は数十種類となり「対象シート」も何百行にもなります。
よろしくお願いします。

No.7ベストアンサー
- 回答日時:
No.6
- 回答日時:
No3です。
補足ありがとうございました。
>2について:空白行の役割ですが、例えば対象シートにはないのですがメロンがあった場合に、メロンをすべて削除したい場合は対象項目シートABにメロンの情報を記載し、C、Dは空白になります。
>VBAを実行すると必要なミカンまで削除され、結果は一緒でした。
すみません。よく理解できませんでした。
以下のようなケースは、どうなってほしいのでしょうか。
対象項目のシートに、以下の指定があります。
(名称Noが空白のみかんはありません)
種類No 種類 名称No 名称
01 みかん AA 清美
01 みかん AB マドンナ
01 みかん AE 不知火
対象シートは、以下のようになっています。
種類No 種類 名称No 名称 金額
01 みかん AA 清美 100円・・・①
01 みかん AB マドンナ 500円・・・②
01 みかん AC セトカ 150円・・・③
01 みかん AD デコポン 150円・・・④
01 みかん AE 不知火 150円・・・⑤
①②⑤が残るのはわかりますが、③④はどうなってほしいのでしょうか。
③④は残ってほしいのでしょうか。それとも、消えてほしいのでしょうか。
(対象項目のシートには、名称Noが空白のみかんはありません。あなたが提示した添付図の6行目だけがない場合です)
tatsumaru77様
ありがとうございます。
みかんについては③④を削除したいです。
実際のデータではみかんの名称は5つでなく、数十個あります。
その中で①②⑤を残して、ほかの全てを削除したいです。
「対象項目」シートの記載方法についても悩んでいます。
No.5
- 回答日時:
りんごは削除しないのですね。
「削除後」シートにりんごが無いのは間違いですか?「対象項目」C,D列空白ならA,B列に書かれている種類は全削除とのことですが、6行目01-みかんは全削除ですか?それだと4,5行目の意味が無いですが...
ありがとうございます。
いんちょ様のご指摘通り「削除後」シートにりんごが抜けていました。
大変申し訳ございません。
01みかんの場合はAA清美、ABマドンナ、AE不知火の3名称は削除せず、その他のACセトカ、ADデコポンは削除します。
基本「対象項目」シートのA,B列に記載されている種類は削除するのですが、例外として「対象項目」シートのC,D列に記載されている名称の果物は削除しません。
よろしくお願いいたします。
No.3
- 回答日時:
補足要求です。
以下の点が不明です。1.対象シートの06 りんご ですが、
対象項目に06 りんご が存在しないので、削除しないと理解しましたが、
間違いないでしょうか。
2.対象項目のシートで、名称が空白になっている行の役割は何でしょうか。
例として、6行目の01 みかん です。(名称No、名称が空白)
もし、この行がなかった場合、削除結果は、どうなりますか。
①ある場合と同じになる。
つまり、
01 みかん AA 清美
01 みかん AB マドンナ
01 みかん AA 不知火
のみが残り、ほかのみかんは全て削除される。
②01 みかんは、一切削除されない。
①、②のどちらでしょうか。
3.種類Noと種類は、必ず1:1で対応しますか。
つまり
種類No 種類
01 みかん
01 オレンジ
のようなケースはないと考えて良いですか。
4.名称Noと名称は、必ず1:1で対応しますか。
つまり
名称No 名称
AA 清美
AA キヨミ
のようなケースはないと考えて良いですか。
以上、補足をお願いします。
ご連絡ありがとうございます。
補足要求
1について:はい、リストにない果物は削除しません。
なのでりんごは対象項目シートに記載されていません。
2について:空白行の役割ですが、例えば対象シートにはないのですがメロンがあった場合に、メロンをすべて削除したい場合は対象項目シートABにメロンの情報を記載し、C、Dは空白になります。
VBAを実行すると必要なミカンまで削除され、結果は一緒でした。
3について:必ず1:1で対応します。01はみかんのみです。
4について:名称も必ず1:1で対応します。AAは清美のみです。
上記の内容で大丈夫でしょうか?
私の説明が悪く大変申し訳ございません。
よろしくお願いします。
No.2
- 回答日時:
対象項目のC,D列にある果物だけ抽出したいのでしょうか?それなら、その行だけ削除後にコピペして、金額はvlookupとかで持ってくれば済むでしょう。
ただ、C,D列空白の行が何を意味するのか、りんごのふじは本当に削除でいいのか、気になるところです。ありがとうございます。
説明が悪く申し訳ございません。
種類にはメロン、桃、バナナなど記載していない色々な種類があります。
それらはリストに無記入なので削除はしません。
対象項目のA,B列に記載されている果物は削除ですが、その中でC、D列に記載されている名称の果物は削除しない。
対象項目のA,B列に記載されている果物で、C、D列に記載されていない名称の果物は削除する。というようにしたいです。
No.1
- 回答日時:
こんにちは
ご説明では、A~Dの4項目が全部一致で判断するような説明になっていますけれど、「種類No」と「種類」、「名称No」と「名称」は必ず対になっているような印象を受けます。
もしそうであるなら、比較するのは2項目で済むのではないでしょうか?
また、最近のスピル機能を使えるバージョンであれば、関数でも簡単に抽出が可能です。
例えば、削除後シートのA2セルに
=FILTER(対象シートのデータ範囲,COUNTIF(対象項目A列範囲,対象シートA列範囲)*COUNTIF(対象項目C列範囲,対象シートC列範囲),"")
のような式を入力すれば、結果が自動で右方・下方にスピルされます。
(A列とC列の2項目の一致を確認すれば良いものと仮定しました)
空白セル同しは一致とは見做されませんので、セル範囲を広めに設定しておけば宜しいでしょう。(例えば1000行迄とか)
どうしてもマクロで行いたいのであれば・・
「A2セルに関数式を設定し、A:E列を値をペーストで固定値化する」
処理でも、ご質問と同様の結果を得られます。
こちらであれば処理も簡単なので、ご自身で作成可能であろう推測します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Visual Basic(VBA) Excel VBA 文字列のセルを反映させたいです 2 2024/02/24 00:06
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
何回やってもうまくいかないことは?
みなさんには、何回やってもうまくいかないことはありますか?
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
【お題】追い込まれた犯人が咄嗟に言った一言とは?
-
VBAのエラー表示の対処法について
Visual Basic(VBA)
-
vbaマクロについて
Visual Basic(VBA)
-
Excel VBAについて。こんな動作をさせるためにはどう書けばよいでしょうか。
Visual Basic(VBA)
-
-
4
VBAコードのインデント表示
Visual Basic(VBA)
-
5
VBA コードどこがおかしいですか?
Visual Basic(VBA)
-
6
エクセル タブの下のメニューを選択 実行するコード
Visual Basic(VBA)
-
7
VBA Application.Matchについての質問です
Visual Basic(VBA)
-
8
VBAで特定の文字が入った行をコピーして貼り付けたい
Visual Basic(VBA)
-
9
以下のプログラムの実行結果はどうなると思いますか? その理由も教えてください。
Visual Basic(VBA)
-
10
VBAについてです。 どなたかご教示いただけないでしょうか。 データのチェックシートを作成しています
Visual Basic(VBA)
-
11
質問58753 このコードでうまく動作しません。どうしたら良いですか Private Sub Wor
Visual Basic(VBA)
-
12
エクセルVBAコードで教えて下さい!
Visual Basic(VBA)
-
13
Excel VBA 選択範囲の罫線色の変更プロージャの動作速度の改善について
Visual Basic(VBA)
-
14
サブフォルダに格納されているファイルを、ファイル名ごとに条件分岐させたい
Visual Basic(VBA)
-
15
ExcelVBAマクロで実行した時の疑問
Visual Basic(VBA)
-
16
EXCEL vbaでシート上に配置したボタンの移動については
Visual Basic(VBA)
-
17
VBA 入力箇所指定方法
Visual Basic(VBA)
-
18
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
19
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
20
VBAのループ処理について教えてください
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAの「To」という語句について
-
エクセルのVBAコードについて教...
-
Excelのマクロについて教えてく...
-
VBAでFOR NEXT分を Application...
-
算術演算子「¥」の意味について
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでユーザーフォームを指定回...
-
VBAから書き込んだ条件付き初期...
-
Excel VBAについて。こんな動作...
-
マクロVBAです。 どなたかコー...
-
質問58753 このコードでうまく...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】5万行以上のデー...
-
VBA ユーザーフォーム ボタンク...
-
Excel マクロについて詳しい方...
-
以下のプログラムの実行結果は...
-
VBA Application.Matchについて...
-
2つのマクロでチェックボックス...
-
VBAについてです。 どなたかご...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.net 文字列から日付型へ変更...
-
VBA 最終行の取得がうまくいか...
-
VBAでエクセルのテキストデータ...
-
【ExcelVBA】5万行以上のデー...
-
VBAについてです。 データのチ...
-
エクセルVBAで在庫の組み換え処...
-
VBAから書き込んだ条件付き初期...
-
エクセルのVBAコードについて教...
-
VBAでユーザーフォームを指定回...
-
エクセルのVBAについて教えてく...
-
vbaマクロについて
-
ExcelのVBAコードについて教え...
-
【VBA】 結合セルに複数画像と...
-
WindowsのOutlook を VBA から...
-
質問58753 このコードでうまく...
-
ExcelのVBAコードについて教え...
-
Excel VBAについて。こんな動作...
-
[Excel VBA]特定の条件で文字を...
-
[VB.net] ボタン(Flat)のEnable...
-
ExcelからVisual Basicを開くと...
おすすめ情報