[[20170327092132]] 『コンボボックスのIf文』(PET) ページの最後に飛ぶ

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

 

『コンボボックスのIf文』(PET)

コンボボックスを2つ使ったIf文を教えて欲しいです。

フォーム上にコンボボックス1と2があります。
コンボボックス1で「あああ」、「いいい」と選択できます。
コンボボックス2は、
コンボボックス1が「あああ」の時、「含む、含まない、のみ」と選択でき、
コンボボックス1が「いいい」の時、「有、無」と選択できる様になってます。

選択後の動作として、オートフィルタでデータの抽出をしており、
・コンボボックス1「あああ」
・コンボボックス2「含む」
の時と、
・コンボボックス1「あああ」
・コンボボックス2「含まない」
の時と
・コンボボックス1「あああ」
・コンボボックス2「のみ」
で、表示結果を変えたいのですが上手くいきません。
現状のコード(抜粋)を下記に示しますので、修正点教えて欲しいです。

If ComboBox1.Value = "あああ" Then

       ComboBox2.Value = "含む"
       Columns("A:A").Select
          Selection.AutoFilter Field:=1
 ElseIf ComboBox1.Value = "あああ" Then
      ComboBox2.Value = "含まない"
       Columns("A:A").Select
          Selection.AutoFilter Field:=1, Criteria1:="FALSE"
 ElseIf ComboBox1.Value = "あああ" Then
      ComboBox2.Value = "のみ"
       Columns("A:A").Select
          Selection.AutoFilter Field:=1, Criteria1:="TRUE"

< 使用 アプリ:Excel2000、使用 OS:WindowsXP >


 11:00 If文制御サンプルの "いいい"判定のComboBoxをミスタイプしていましたので
 こっそり(?)変更しておきました。

 IF文制御なら

    If ComboBox1.Value = "あああ" Then
        If ComboBox2.Value = "含む" Then
            '含む場合の処理
        ElseIf ComboBox2.Value = "含まない" Then
            '含まない場合の処理
        ElseIf ComboBox2.Value = "のみ" Then
            'のみの時の処理
        End If
    ElseIf ComboBox1.Value = "いいい" Then
        '
        '省略
    End If

 こんな感じですかね。

 Select/Case のほうが見やすいかもしれません。

    Select Case ComboBox1.Value
        Case "あああ"
            Select Case ComboBox2.Value
                Case "含む"
                    '含む場合の処理
                Case "含まない"
                    '含まない場合の処理
                Case "のみ"
                    'のみの時の処理
            End Select
        Case "いいい"
            '
            ' 省略
            '
    End Select

( β) 2017/03/27(月) 09:56


βさん コメントありがとうございます。
イメージ通りの動作確認出来ました。とても感謝致します。
又、とても勉強になりました。

仰る通り、
Select/Caseの方が見やすいので、そちらの方を使わせて頂きます。
ありがとうございました。
(PET) 2017/03/27(月) 10:37


コメント返信:

[ 一覧(最新更新順) ]


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