ExcelマクロVBA入門 | 第48回.VBA関数(その他,Fix,Int,Rnd,Round,IsEmpty) | Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説



最終更新日:2013-09-04

第48回.VBA関数(その他,Fix,Int,Rnd,Round,IsEmpty)


日付関数、文字列操作関数以外で、マクロにてぜひ押さえておいてほしい関数の一覧です。


全てのVBA関数一覧は、VBA関数一覧

数学
関数 説明
Fix 指定した数値の整数部分を返します。負の場合、その数値以下の最大の値を返します。
Int 指定した数値の整数部分を返します。負の場合、その数値以上の最小の値を返します。
Rnd 単精度浮動小数点数型 (Single) の乱数を返します
Round 指定された小数点位置で丸めた数値を返します
データ型確認
関数 説明
IsArray 変数が配列であるかどうかを調べ、結果をブール型 (Boolean) で返します
IsDate 式を日付に変換できるかどうかを調べ、結果をブール型 (Boolean) で返します
IsEmpty 変数が Empty 値かどうかを調べ、結果をブール型 (Boolean) で返します
IsError 式がエラー値かどうかを調べ、結果をブール型 (Boolean) で返します
IsMissing プロシージャに省略可能なバリアント型 (Variant) の引数が渡されたかどうかを調べ、結果をブール型 (Boolean) で返します
IsNull 式に Null 値が含まれているかどうかを調べ、結果をブール型 (Boolean) で返します
IsNumeric 式が数値として評価できるかどうかを調べ、結果をブール型 (Boolean) で返します
IsObject 識別子がオブジェクト変数を表しているかどうかを示すブール型 (Boolean) の値を返します
型変換
関数 説明
CBool ブール型 (Boolean)のデータ型に変換します。
CByte バイト型 (Byte)のデータ型に変換します
CCur 通貨型 (Currency)のデータ型に変換します
CDate 日付型 (Date)のデータ型に変換します。任意の有効な日付
CDbl 倍精度浮動小数点数型 (Double)のデータ型に変換します
CDec 10 進型 (Decimal)のデータ型に変換します
CInt 整数型 (Integer)のデータ型に変換します。
CLng 長整数型 (Long)のデータ型に変換します。
CSng 単精度浮動小数点数型 (Single)のデータ型に変換します
CStr 文字列型 (String)のデータ型に変換します。
CVar バリアント型 (Variant)のデータ型に変換します。


注意点のある関数についてのみ説明します。



・Fix関数、Int関数


正数値の場合は、同じ結果となりますが、負数値の場合に違いが発生します。


Int(-99.2) → -100
Fix(-99.2) → -99




・Rnd関数


システム タイマーから取得した新しいシード値を使って、乱数ジェネレータを初期化するには、

Rnd 関数を呼び出す前に、引数を指定せずに Randomize ステートメントを実行してください。


任意の範囲の整数の乱数を生成するには、次の式を使ってください。

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

この式では、変数 upperbound には範囲の上限の値を指定し、

変数lowerbound には範囲の下限の値を指定します。



・Round関数


ワークシートのROUND関数は、四捨五入ですが、

Round関数は丸め(銀行型丸め、最近接偶数丸め)になります。

ワークシート
ROUND関数
VBA
Round関数
1.4 1 1
1.5 2 2
1.6 2 2
2.4 2 2
2.5 3 2
2.6 3 3



・IsEmpty関数


A1セル:"=B1 & C1"

B1セル:""

C1セル:""


この場合、


If Range("A1") = "" ・・・ 真(True)

If IsEmpty ・・・ 偽(False)


となりますので、使い分けして下さい。



・型変換関数


引数のデータが、データ型変換出来ない場合は、エラーが発生します。


事前に、対応する、Is○○関数で確認するか、


エラー処理ルーチンを有効にする必要があります。

(これについては、後々に説明)






同じテーマ「ExcelマクロVBA入門」の記事

第49回.Like演算子とワイルドカード
第50回.総合練習問題6
第51回.Withステートメント
第52回.オブジェクト変数
第53回.Workbookオブジェクト
第54回.Windowsオブジェクト
第55回.Worksheetオブジェクト

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

SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)

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

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.定数と型宣言文字(Const)|ExcelマクロVBA入門
10.CSVの読み込み方法|ExcelマクロVBAサンプル集



  • >
  • >
  • >
  • VBA関数(その他,Fix,Int,Rnd,Round,IsEmpty)

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


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

    ↑ PAGE TOP