[[20150901173102]] 『マクロ オートフィルタのコンボボックス空白につ』(2222222) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロ オートフィルタのコンボボックス空白について』(2222222)

フィルタ検索抽出で行き詰ってしまいました。
どなたか教えていただえると助かります。

●i3=コンボボックス(部署名)・・・完全一致
●i4=テキストボックス(機器名称)・・・一部一致

現在の記述だと、i3(部署名)の入力がないとi4(機器名称)の抽出ができません。
i3(部署名)が空白でもi4(機器名称)の検索ができる方法はないだしょうか?

Sub 絞り込み検索()

  If Range("i3").Value = "" And Range("i4").Value = "*" Then
       MsgBox "部署名or機器名称を入力して下さい。"
  Exit Sub
   Else
   Worksheets("固定資産台帳").Range("A6").AutoFilter Field:=2, Criteria1:=Worksheets("固定資産台帳").Range("i3").Value
   Worksheets("固定資産台帳").Range("A6").AutoFilter Field:=8, Criteria1:="*" & Worksheets("固定資産台帳").Range("i4").Value & "*"
   Worksheets("固定資産台帳").Select
  End If
End Sub

< 使用 Excel:Excel2013、使用 OS:Windows8 >


 回答の前に Criteria1:=Worksheets("固定資産台帳").Range("i3").Value 等 シート修飾しているのは
 大変結構なことですが、最初の入力チェックが、アクティブシートのセルに対して行われます。
 ここは、うっかりミスですかね?

 Sub 絞り込み検索()
    Dim depnm As Variant
    depnm = Worksheets("固定資産台帳").Range("i3").Value
    If IsEmpty(Worksheets("固定資産台帳").Range("i4")) Then
        MsgBox "機器名称を入力して下さい。"
        Exit Sub
    Else
        If Not IsEmpty(depnm) Then Worksheets("固定資産台帳").Range("A6").AutoFilter Field:=2, Criteria1:=depnm
        Worksheets("固定資産台帳").Range("A6").AutoFilter Field:=8, Criteria1:="*" & Worksheets("固定資産台帳").Range("i4").Value & "*"
        Worksheets("固定資産台帳").Select
    End If
 End Sub

(β) 2015/09/01(火) 18:47


早々のご回答ありがとうございます。
問題なく処理できました。

マクロに手を出して間もないので、まだまだ勉強中です。
本当に助かりました!

(2222222) 2015/09/02(水) 09:07


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.