[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートフィルターについて』(サラリーマン)
見出しの件について教えてください。
検索したいモノが無いときに出ないのではなメッセージボックスで「該当無し」と出るようにならないかと考えています。
事例が見つからないので教えていただけないでしょうか。
よろしくお願いします。
Sub AotoFil()
Range("C2:M2").Select Selection.AutoFilter Selection.AutoFilter Field:=8, Criteria1:=Range("J1").Value End Sub
< 使用 Excel:Excel2003、使用 OS:WindowsXP >
Sub AotoFil()
If Application.CountIf(Range("J3:J10000"), Range("J1")) = 0 Then MsgBox "該当なし" Else Range("C2:M2").Select Selection.AutoFilter Selection.AutoFilter Field:=8, Criteria1:=Range("J1").Value End If
End Sub
でどうでしょうか? (se_9) 2014/03/18(火) 14:11
ちょっと修正しようかと思ったら解決済に・・・。でも一応載せておきます。
検索する文字列がない場合オートフィルタを解除したければ If Application.CountIf(Range("J3:J10000"), Range("J1")) = 0 Then の上の行にActiveSheet.AutoFilterMode = Falseを足してください。 (se_9) 2014/03/18(火) 14:24
ActiveSheet.AutoFilterMode = False If Application.CountIf(Range("L2:L10000"), Range("Q1")) = 0 Then MsgBox "該当なし" Range("a1").AutoFilter Else Range("A1:L1").Select Selection.AutoFilter Selection.AutoFilter Field:=12, Criteria1:=Range("Q1").Value End If If Application.CountIf(Range("C2:C10000"), Range("R1")) = 0 Then MsgBox "該当なし" Range("a1").AutoFilter Else Selection.AutoFilter Field:=3, Criteria1:=Range("R1").Value End If End Sub
(サラリーマン) 2014/03/20(木) 11:44
各列にそろって存在する行があるか 調べてみて下さい。
ご使用のエクセルが2003と言う事なので、SUMPRODUCT関数を使って。。。
ActiveSheet.AutoFilterMode = False If Evaluate("SUMPRODUCT((L2:L10000=" & Range("Q1").Value & ")*(C2:C10000=" & Range("R1").Value & "))") = 0 Then MsgBox "該当なし" Else With Range("A1:L1") .AutoFilter Field:=12, Criteria1:=Range("Q1").Value .AutoFilter Field:=3, Criteria1:=Range("R1").Value End With End If (HANA) 2014/03/24(月) 09:00
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.