
No.7ベストアンサー
- 回答日時:
補足情報です。
複雑な条件でフィルタ操作を行う場合のもう1つの基本操作である、数式を使ったフィルタオプションの設定の方法を提示していませんでしたが、数式1つで抽出できるので、こちらの方法の方が場合によれば簡単かもしれません。
No5の添付画像のレイアウトならC1セルを空白セル、C2セルに以下の式を入力し検索条件をC1:C2にしたフィルタオプションの設定を行ってみてください。
=AND(LEFT(A2,1)<>"★",LEFT(A2,1)<>"※")
もしこの操作をマクロを使って実行したいなら、上記の操作を「マクロの記録」で記録すれば良いと思います。
このとき先頭の検索文字をセルに入力し、上記の数式をそのセルを参照する数式にしておけば、セルに除外文字を入力して上記のマクロを実行すれば該当データを抽出することができます(必要の応じて検索条件範囲は非表示にする)。
MackyNo1様
お礼が遅くなり、申し訳ございませんでした
今回も有用な方法を教えて頂き、誠にありがとうございました
前回の <>△*、<>※* に引き続き
今回の =AND(LEFT(A2,1)<>"★",LEFT(A2,1)<>"※") に関しても
自力では、まず考えも及びませんでした
またも
応用とは基本の上に成り立っている事を再認識致しました
どうもありがとうございました m(_ _)m
No.6
- 回答日時:
No.4です!
たびたびごめんなさい。
No.1さんの補足に
>(実際は、※や★等の任意語が滅入るほどあります...)
とありましたので似たような方法ですが、↓の画像のように任意語を1行目に入力しておいて、その語が1文字目にある行を削除する方法にしてみました。
Sub test()
Dim i As Long
Dim str As String
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
str = Left(Cells(i, 1), 1)
If WorksheetFunction.CountIf(Range(Cells(1, 3), Cells(1, 4)), str) Then
Rows(i).Delete (xlUp)
End If
Next i
End Sub
コード内のCOUNTIF部分の
Range(Cells(1, 3), Cells(1, 4)) は画像ではC1・D1セルにだけ任意語が入っていますので、そこだけを範囲指定しています。
もし仮に任意語が10個あるのであればL1セルまで任意語が入りますので、
Range(Cells(1, 3), Cells(1, 12)) となります。
この部分だけを変更すればいくら任意語が増えても対応できると思います。
(もし空白セルを範囲指定してしまうと、空白行も削除されます)
以上、何度も失礼しました。m(__)m

tom04様 ご回答頂き、ありがとうございます
お礼が遅れてしまい申し訳ございませんでしたm(_ _)m
さっそく試させて頂きました
任意語が複数あるとの補足にまで、お答え頂き本当にありがとうございました!
正にカルチャーショックとしか言いようがありません
こんな魔法のような事を、こんな素人な私でさえ再現させて頂けるとは
またまたモチベーションが高まりました!
シート右クリックでコードを直接書けることさえ知りませんでしたし
コードの意味すら、正直全然解りませんが
(たくさんの任意語にまで対応出来る方法まで、詳細を教えて頂いたお陰で出来ました!)
同じソフトを使ってても、こうも奥は深いんだと痛感させられました
自分のちっぽけさが際立ち悲しい位でもあります(ToT)
暗号のようなコードをどれだけ見よう見まねで改造できるかは
今後の勉強次第だと思ってます
たいへん貴重な方法を教えて頂きありがとうございます!m(_ _)m
おかげさまで助かりました!
No.5
- 回答日時:
マクロを利用される場合も、まず基本はフィルタ操作をマスターすることです。
先頭文字が「★」または「※」から始まるデータを除外したいなら、以下のようなフィルタ操作をします。
バージョンが明記されていませんので2007の操作で説明すると、「データ」「フィルタ」「テキストフィルタ」「ユーザー設定フィルタ」(2003は「オプション」)でオートフィルタオプションのダイアログを出して、「★」「から始まらない」AND「※」から「始まらない」にします。
除外条件をなどをセルに入力して、フィルタを実行するにはフィルタオプションの設定を利用します。
添付画像のように1行目が項目名で2行目以下にデータがある場合、E1、F1セルに項目名をコピーし、E2セルに「="<>★*"」、F2セルに「="<>※*"」と抽出条件を入力します。
次に、2007の場合の操作で説明すると、「データ」タブの「並べ替えとフィルタ」の「詳細設定」でリスト範囲をA列全体を指定し、検索条件範囲に「E1:F2」セルを選択し、抽出先を「指定した範囲」にチェックを入れ「抽出範囲」に例えばC1セルを指定し「OK」すれば、添付画像のようになります。
これらの操作をマクロの記録で登録すれば、ボタン1つクリックするだけでE2セルとF2セルに入力した条件のデータを抽出することができます。

MackyNo1様 ご回答頂き、ありがとうございます
お礼が遅れてしまい申し訳ございませんでしたm(_ _)m
さっそく試させて頂きました
私は2003を使っていますが、だいぶ前にフィルタオプションの設定は現在も利用しています
だいぶ前に自作した物に自分なりには、結構凝って多用してたつもりですが
(見よう見まねで、修正に修正を重ねた結果なので
正直今、それと同じようなものを直ぐに作ることは出来ません
と、言うより、詳しい事、記憶喪失のように、からっきし憶えていないのです...)
今回の事で、なんとなく思い出せました
検索条件範囲の、<>△*、<>※*等は、自分では考えも付かなかったです
(自作の物は、一致する物だけを抽出してましたので、こんな方法もあろうとは!)
またも、奥の深さを感じずにはいられません
このたびは、貴重なご回答、どうもありがとうございました!
"マクロを利用される場合も、まず基本はフィルタ操作を..."
奥の深いお言葉も、身に染みております
お陰さまで、今の私の実力での出発点を見つけた思いでございます
どうもありがとうございましたm(_ _)m
No.4
- 回答日時:
こんにちは!
一例です。
A列のセル内の文字で「B」から始まるものがあればその行を削除するようにしてみました。
操作したいSheet見出し上で右クリック → コードの表示 を選択し、↓のコードをコピー&ペーストしてマクロを実行してみてください。
Sub test()
Dim i As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 1) Like "B*" Then '「B」から始まる文字の場合は・・・
Rows(i).Delete (xlUp)
End If
Next i
End Sub
他に良いコードがあればごめんなさい。m(__)m
No.2
- 回答日時:
A列の2行目から、すなわちA2セルから下方に文字列があるとしてB1セルには削除したい文字列の先頭の文字を入力します。
例えばBと入力します。B2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(AND(A2<>"",LEFT(A2,1)<>B$1),MAX(B$1:B1)+1,"")
例えばC1セルから下方にに削除した後の文字列を並べて表示するとしたらC1セルには次の式を入力して下方にオートフィルドラッグします。
=IF(ROW(A1)>MAX(B:B),"",INDEX(A:A,MATCH(ROW(A1),B:B,0)))
なお、C列は式を使って表示されたものです。A列などが削除されますと消えてしまいます。それをなくすためにはC列を選択してコピーし、お望みのセルの位置で右クリックして「形式を選択して貼り付け」で「値」にチェックをしてOKします。
KURUMITO様 ご回答頂き、ありがとうございます。
みようみまねで試させていただきました
面白い位、簡単にサクっと出来たので驚きました
努力された結果である事はわかりますが
このような応用技を即、思いつけるなんて、とっても羨ましい限りです!
別のモチベーションが上がってきてしまいました
この方法も、大変、応用度の高い素晴らしい方法だと思います
どうもありがとうございましたm(_ _)m
No.1
- 回答日時:
言葉と言うのは、文字ということでしょうか?
「ミカン」と「みかん」など表記の違いの混在はあるのでしょうか?
あと、「みかん」や「み かん」などスペースの有無や半角全角など。
お聞きした限りでは、
私だったらフィルターで集めて削除します。
この回答への補足
さっそくのご回答、どうもありがとうございますm(_ _)m
さっそくですが
全て★●※などの全角1文字の記号で区別したいです。
実際は、EXCEL外のデータを整形したいが為にコピペしている状態なので
下記のように、空行や線等も混じっております
(元に戻さなくて済むように削除はしたくありません)
例
○あああ
★みかん
●りんご
○あああ
━━━━
※かめら
※あああ
○あああ
※りんご
--------
●あああ
○かめら
★りんご
△あああ
○かめら
★かめら
■■■■
○あああ
△りんご
○あああ
※あああ
○りんご
★あああ
上記から、※と★から始まる行を一括で削除した場合は下記のようになります
●りんご
○あああ
━━━━
○あああ
--------
●あああ
○かめら
△あああ
○かめら
■■■■
○あああ
△りんご
○あああ
○りんご
現状は、下記のように段階を踏んでいますが、これらを一括で行ないたいです。
(実際は、※や★等の任意語が滅入るほどあります...)
1 すべて検索を実行 ※
2 結果を全選択
3 編集>削除>行ごと
4 すべて検索を実行 ★
5 結果を全選択
6 編集>削除>行ごと
たぶん、上記等の幾つかのパターンをマクロで作ってしまえばよいのではないかとも思いましたが
マクロ自体、きっちりは理解しておらず、見よう見まねなのが原因だと思いますが
かれこれ数時間、いくらやってももうまくいきません...
こんな状態ですが、簡単に教えて頂けましたら、幸いです。
よろしくお願い致しますm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- au(KDDI) Android Gmail で検索して消す方法 1 2022/11/10 16:10
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Excel(エクセル) Excel リンク先のエクセルファイルの削除 同時に行を削除したい 1 2022/11/29 16:20
- Access(アクセス) AccessVBAで任意の複数リンクテーブルをAccessVBAを動かす際に削除したいと考えておりま 1 2022/11/17 15:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Mac OS Mac iPhoneの連絡帳の大量のリストを削除したい 1 2023/05/12 23:30
- Excel(エクセル) excelで1行ごとに一気に削除する方法はありませんか? 3 2022/05/18 20:58
- その他(パソコン・スマホ・電化製品) Googleカレンダーで不要データを一括削除したい 1 2023/08/02 12:42
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセル
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
【マクロ】A列にある、日付(本...
-
【マクロ】3行に上から下に並...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】WEBシステムから保存...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
Excelについての質問です 並べ...
-
マクロ・VBAで、当該ファイルの...
-
VBA チェックボックスをオーバ...
-
派遣会社とかハローワークとか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報