いつもterateilにてお世話になっております。
今回もVBA関連の質問をさせていただきます。よろしくお願いします。
作ろうとしているもの
ExcelでSheet1にある一覧表から、項目を検索して氏名の列をSheet2に貼り付けるVBAを作っています(以下の画像はSheet1)
氏名の列より右の「性別」「出身地」「居住地」「血液型」を、Sheet2のA1セルに入力した文字を項目名として検索され、A2セルに入力された文字(=val)を検索語句として検索するようにしています。
フィルタにかけた後、抽出された項目の氏名をコピーして別シートに貼り付けるものです。
VBA
1ws01 = Sheet1 '一覧があるシート 2ws02 = Sheet2 '書き出し先のシート 3 4col_num = Worksheets(ws02).Range("A1") 5val = Worksheets(ws02).Range("A2") 6 7Worksheets(ws01).Range("A1").AutoFilter Field:=col_num, Criteria1:=val
ここから本題です…
VBAのフィルタに関する質問です。
画像にもあるように、黄色の背景色があるところは要注意項目のため、背景色があるセルをフィルタから除外したり、背景色がある項目だけ検索したいときがあります。
例えば「東京の背景色があるところ」と検索したいのです。
そこで、Criteria2にも追加して検索しようとしました(以下のプログラム)
VBA
1Worksheets(ws01).Range("A1").AutoFilter Field:=col_num, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor, Criteria2:=val
しかし、黄色の背景色がある項目が全部抽出され、対象以外も出てきてしまって困っています。
色々と調べては見たものの、いまいちどうやればいいのかピンと来ていません。
文字と背景色を検索条件として共存させれば良いのか、ご教授ください。
また、難しいのであれば、どのように回避すべきかを教えていただければ大変助かります。
厚かましいと思いますが、よろしくお願いします。
使用環境 : Excel2013
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/31 10:34