
A 回答 (10件)
- 最新から表示
- 回答順に表示
No.10
- 回答日時:
「●●でない」という条件は2つまでなら簡単に指定することができますが、3つ以上になるとAdvancedFilterでないと出来ないと思います。
ただ、AdvancedFilterだと条件を指定するセルが必要になりますが、条件が変更になった場合は条件セルの値を書き換えるだけで対応できるので、便利なこともあります。どうしても条件セルを用意するのが嫌ならば、こんな手もあります。
下記のコードは、まず、消したい行だけフィルタで表示させ可視行を変数に格納します。その後、フィルタを解除し、変数に格納した行を非表示にするものです。
Dim r As Range
With ActiveSheet.Range("A1:A7")
.AutoFilter Field:=1, Criteria1:=Array("●●", "▲▲", "◆◆"), Operator:=xlFilterValues
Set r = Range("A2:A7").SpecialCells(xlCellTypeVisible)
.AutoFilter
End With
r.EntireRow.Hidden = True
No.9
- 回答日時:
元の行数・削除対象の行数はどんなものでしょう?
フィルタ系は好きじゃないので、自力でやるものになりますが、
最近回答した以下、参考になれば・・・
マクロ初心者です。 下記のマクロですが、指定し
https://detail.chiebukuro.yahoo.co.jp/qa/questio …
やっていることは、
・処理対象行を求めて
・作業用に1列使って、その列の初期値を 1 に
・1 のセルを求めて、式を設定し、結果を 式→値 化して
式は、残すものなら空欄になる様に
上記回答の式では、A ~ AB 列で部分的に文字一致したら "" でなければ 1
・・・これを繰り返して
・最終的に 1 が残っているセルの行を一気に削除
※ 元の行数・削除対象の行数によっては、違う方法が良かったり・・・・
No.8
- 回答日時:
>補足に書かせていただきましたが、マクロの一連の流れとして組み込みたいため、ちょっと難しそうです。
??
マクロの一部でも何ら変わらないですよ。
シートコピーして処理しても
それを戻したらいいだけです。
ワークに使ったシートは削除するだけだし。
フィルターのところが手動で残りがマクロだったとしても
一緒ですけどね。
ScreenUpdatingで見せなければいいだけだし。
No.7
- 回答日時:
このご質問は、フィルターオプションで可能です。
A列
リスト
▲▲
T
▲▲
N
●●
U
A
C
●●
T
C
F
●●
Q
F
Y
●●
F
H
▲▲
K
適当に空いている場所に、例えば、D2 に
=AND(A2<>"▲▲",A2<>"●●",A2<>"◆◆")
と入力して、データ-並べ替えの「詳細設定]
フィルターオプションのリスト条件で、
$A$1:$A2$2
検索条件に、D1:D2 (1行目はいつもブランクで開けておく)
それで、「OK」をクリックします。
ファルターオプションの中には、直接取り出す方法もありますが、それはお確かめください。
-------------------------
よく読まなかったのですが、マクロの全体の一部として使うとなると、以下は、取り扱いがちょっと面倒かもしれません。全体がどのような過程の中で使うかにもよります。
式.AdvancedFilter(Action, CriteriaRange, CopyToRange, Unique)
'//
Sub TestFilter1()
Dim Rng As Range
Dim c As Long
Dim myCriteria As Range
Dim myFormula As String
Const T As String = "A2" '検索列
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If
Set Rng = Range("A1", Cells(Rows.Count, 1).End(xlUp))
Set myCriteria = Range("D1:D2")
myCriteria = ""
MyCriteria.Cells(2, 1).FormulaLocal = "=AND(" & T & "<>""▲▲""," & T & "<>""●●""," & T & "<>""◆◆"")"
Rng.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=myCriteria, Unique:=False
End Sub
No.6
- 回答日時:
No.4~5です。
詳細設定で ~以外のデータを抽出する
http://www4.synapse.ne.jp/yone/excel/excel_data_ …
ようは抽出したい条件で『<>』をつけて否定すれば良いだけでしたね。
該当する項目列名を横に並べ且つ、●●と▲▲と◆◆を『<>●●』『<>▲▲』『<>◆◆』とすればいけるんじゃないかな?
リスト範囲や検索条件範囲に注意すれば後半のVBAが参考になるかも。
最後の辺りはさすがに最近の物だけはありますね。
うちのは古いから無理ですが・・・・・・・・・
No.4
- 回答日時:
No.3です。
フィルタに拘らないなら下から順に調べて該当する値(●●と▲▲と◆◆以外)を見つけたら行を削除していけば楽ですが、
どうしてもフィルタでなければならないのでしょうか?
・・・行数の関係?
あれ?
削除したいってのは『該当する(しない?)値を含んだセルのある行を消したい』で宜しいのですよね?
No.3
- 回答日時:
>●●と▲▲と◆◆を選択ではなく
>以外を選択という指示をしたいのですが、
これらはどこかの列に存在する値なのですよね?
空いている列(例えばA2以下にデータが並んでいてB列が空いているとする)に
B2 =IF(OR(A2="●●",A2="▲▲",A2="◆◆"),1,2) で下にフィルダウン
B列には1か2が並ぶので『以外』ならB列を『2』でフィルタかければ良いんじゃないかな?
行数が余程多くないってなら手作業でも出来るでしょ。
あとはフィルタがかかって削除したい行が現れていたら、その行範囲を選択して右クリックの削除を選ぶ。
フィルタを解除(【すべて】で表示)したら良いのでは?
でも、消したくない項目が多いと数式が面倒になるかな?
この回答へのお礼
お礼日時:2018/05/02 07:57
ありがとうございます。
補足に書かせていただきましたが、マクロを組む1つの行程になるため、出来ればVBAでやりたいと思っています。
無理な様なら、関数での対応で参考にさせていただきます。
ありがとうございました。
No.1
- 回答日時:
オートフィルターは使ってみましたか?
>●●と▲▲と◆◆を選択ではなく
チェックの有無だから、逆も
全然できると思いますが。
具体的にはマクロ記録して
Criteria1:= Array(
のところに
Array(の代わりに自前の配列で●●と▲▲と◆◆を
除いたものを与えるのですが、
そこもVBAでやると結構めんどいので
フィルターオプションで同一データを省いた列をどこかに作成して
そこから●●と▲▲と◆◆のセルを削除したものを
使うでもいいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
if関数の複数条件について
-
【関数】=EXACT(a1,b1) a1とb1...
-
【マクロ】数式を入力したい。...
-
同じ名前(重複)かつ 日本 ア...
-
excel
-
エクセルシートの見出しの文字...
-
エクセルの文字数列関数と競馬...
-
エクセルでフィルターした値を...
-
表計算ソフトでの様式の呼称
-
【画像あり】【関数】指定した...
-
Dir関数のDo Whileステートメン...
-
【マクロ】実行時エラー '424':...
-
Excelに貼ったXのURLのリンク...
-
【関数】3つのセルの中で最新...
-
【マクロ】【画像あり】❶ブック...
-
【マクロ】【画像あり】4つの...
-
【マクロ】【画像あり】4つの...
-
セルにぴったし写真を挿入
-
【マクロ】エラー【#DIV/0!】が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでフィルターした値を...
-
if関数の複数条件について
-
エクセルシートの見出しの文字...
-
excel
-
エクセルの文字数列関数と競馬...
-
VLOOKUP FALSEのこと
-
同じ名前(重複)かつ 日本 ア...
-
表計算ソフトでの様式の呼称
-
エクセルに写真が貼れない(フ...
-
【マクロ】数式を入力したい。...
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
【画像あり】【関数】指定した...
-
エクセルのVBAで集計をしたい
-
【マクロ】【画像あり】4つの...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
LibreOffice Clalc(またはエク...
-
エクセルのライセンスが分かり...
おすすめ情報
ご回答ありがとうございます。
すみません!
ソートではなくオートフィルタでした(汗)
>フィルターオプションで同一データを省いた列をどこかに作成して
そこから●●と▲▲と◆◆のセルを削除したものを
使うでもいいかと。
と、ありますが申し訳ありません。
もう少し詳しく教えて頂けたら助かります。
記憶マクロで、削除しないモノのチェックを外すと、記憶マクロでは削除するモノが羅列されます。
削除するモノは決まっていなく、逆に削除しないものが決まっているので
削除しないモノで指定したいと思いました。
追記で補足させていただきます。
この作業単体でするわけではなく
たくさんの作業の中の1つとして組み込みたいため、VBAの処理方法が知りたいです。
それでないと、一連の流れとしてマクロが回せないため。。。