【Excel VBA】If Elseとは違う条件式(Select Case)について
エンジニアのIMMRです。Excel VBAの条件式には、以前に説明したExcel VBA 条件式(If Else)とこれから説明するSelect Caseの二つあります。1.従来のIf Else条件式If Elseは条件に合った時は処理Aを、条件に合わなかったら処理Bを実行します。では、下記のようなデータがあり、複数の条件があるとします。If Elseを使用して作成すると2種類の方法が浮かぶと思
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
こんにちは。IMMRです。
下記のようなデータがあり、「数学」が80点以上の人を見つけたいとします。
図 ブック(データが記載されているもの)
For NextステートメントやIf Thenステートメントを使用して、確認することができますがここでは
オートフィルターを設定して確認をする方法を説明します。
設定したい表のセル(一か所).AutoFilter
※表全体を指定する必要はありません。
表の中のセルどこでも一つを記載することでオートフィルターの設定が出来ます。
図 オートフィルターの設定
設定したい表のセル(一か所).AutoFilter Field:=対象の番号, Criteria1:="条件"
※対象の番号はオートフィルターとして設定したセルの番号です。
条件は、同じ文字列や10以上等の設定が出来ます。
図 オートフィルターの絞り込み
設定したい表のセル(一か所).AutoFilter
※設定する時と同じで、表全体を指定する必要はありません。
既にオートフィルターが設定されていて、同じ条件で処理(先ほどの絞り込みで必要な対象番号や条件の記述状態)を
行うと削除されます。
図 オートフィルターの解除
下記、ブックを使用して、オートフィルターを設定します。
条件は、テスト点数の「数学」が80以上のものを表示します。
図 ブック(点数等が記載されているもの)
プログラムは下記の通りです。
Sub Test18()
Range("A2").AutoFilter Field:=4, Criteria1:=">=80"
MsgBox "オートフィルターを設定しました。"
Range("A2").AutoFilter
MsgBox "オートフィルターを解除しました。"
End Sub
※オートフィルター対象となる表全体の範囲は、セルのA2からE22です。
そのため、この範囲ならどこでもいいことになります。ここではA2を選択しています。
※「数学」でオートフィルター設定をしたいので、Fieldは4です。
条件は80以上にしたいので、">=80"とします。
上記条件で、オートフィルターを設定して、一度、「オートフィルターを設定しました」とメッセージを表示します。
メッセージ終了後にもう一度、オートフィルター設定をします。
ここでは、Fied等の値を設定してないのでオートフィルターが削除されます。
そして、最後に「オートフィルターを解除しました」とメッセージを表示します。
では、実際に実行をしてみます。
まずは、下記のように準備して、実行します。
図 プログラム実行前
↓
オートフィルター(数学80以上)が設定されて、
「オートフィルターを設定しました」とメッセージが表示されました。
プログラム実行後(オートフィルターの設定)
↓
「OK」を押す
↓
オートフィルターが解除され、
「オートフィルターを解除しました」とメッセージが表示されました。
図 実行後(オートフィルターの解除)
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート