ExcelマクロVBA関数 | IIf関数 | Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説



最終更新日:2013-06-14

IIf関数


IIf関数は、式の評価結果によって、2つの引数のうち1つを返します。

IIf関数

IIf(expr, truepart, falsepart)

expr
必ず指定します。

評価対象の式を指定します。

truepart
必ず指定します。
名前付き引数 expr が真 (True) の場合に返す値または式を指定します。

falsepart
必ず指定します。
名前付き引数 expr が偽 (False) の場合に返す値または式を指定します。

注意

IIf 関数では、 truepart またはfalsepart のいずれか一方だけが返されますが、評価は両方の引数に対して行われます。
このため、IIf 関数を使うと、予期しない結果が起きることがあります。
たとえば、名前付き引数 falsepart を評価した結果 0 による除算エラーが発生する場合は、名前付き引数 expr が真 (True) であってもエラーが発生します。

この問題がある限り、あまり使うべきではありません。
IIf関数は、Ifステートメントで書き直すことが出来ます。
If expr Then
  truepart
Else
  falsepart

End If

使用例.

Dim foo, bar
foo = 50
bar = 100
MsgBox IIf(foo > 0, bar / foo, foo / bar) ・・・ 2
foo = 100
bar = 50
MsgBox IIf(foo > 0, bar / foo, foo / bar) ・・・ 0.5
foo = 100
bar = 0
MsgBox IIf(foo > 0, bar / foo, foo / bar) ・・・ 「0で除算しました」のエラー、常に真偽両方の引数が評価されます。

※VBA関数一覧




同じテーマ「マクロVBA関数」の記事

CDbl関数
CDec関数
CInt関数
CLng関数
CSng関数
CStr関数
CVar関数
CVErr関数
IIf関数
TypeName関数
VarType関数

新着記事 ・・・新着記事一覧を見る

エクセルVBAでのシート指定方法|VBA技術解説(9月8日)
VBAのクラスとは(Class,Property,Get,Let,Set)|VBA技術解説(8月28日)
VBAこれだけは覚えておきたい必須基本例文10|VBA技術解説(8月22日)
VBAの省略可能な記述について|ExcelマクロVBA技術解説(8月11日)
複数条件判定を行う時のコツ|ExcelマクロVBA技術解説(7月11日)
For Next の使い方いろいろ|VBA技術解説(6月14日)
VBAを定型文で覚えよう|ExcelマクロVBA技術解説(3月26日)
VBAスタンダード試験対策まとめ|MOS VBAエキスパート対策(3月16日)
ユーザーフォームとメニューの操作|MOS VBAエキスパート対策(3月14日)
ファイルの操作|MOS VBAエキスパート対策(3月14日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数とデータ型(Dim)|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.RangeとCellsの使い方|ExcelマクロVBA入門
6.定数と型宣言文字(Const)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.とにかく書いて見よう(Sub,End Sub)|VBA入門
9.繰り返し処理(For Next)|ExcelマクロVBA入門
10.ひらがな⇔カタカナの変換|エクセル基本操作




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。





このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

本文下部へ

↑ PAGE TOP