MOS VBAエキスパート対策 | 関数 | MOS Excel VBAエキスパート対策です



最終更新日:2018-03-16

関数


・よく使う関数


【ここでのポイント】

「良く使う」かどうかは、人によって、使い方によって変わってきます。
統計分析をする、財務会計データを加工する、実験データを整理する、アンケートを集計する、・・・
それぞれ必要となる関数は違ってきます。


VBA関数は、形違いも含めると全部で170個以上あります。

そこで、
Excelでどのような業務をしていたとしても、多くの(過半数の)人が必要となる関数に絞ります。

公式テキストのこの章では、数個の関数を紹介しているだけですが、
これは、そこまでの章で紹介していない関数だけをここに抜き出したという事でしょう。

以下では、
試験に出る可能性のある関数+実務で必要な関数として、
65個の関数に厳選しました。
各リンク先の解説ページを一通り読んでおきましょう。


文字列操作

文字列操作は、しっかり覚えて下さい。
必ずと言って良いほどの頻度で試験に出されるはずです。

Format
式を指定した書式に変換し、その文字列を示すバリアント型の値を返します

Replace
指定された文字列の一部を、別の文字列で指定された回数分で置換した文字列を返します

StrConv
変換した文字列をバリアント型で返します

Val
指定した文字列に含まれる数値を適切なデータ型に変換して返します

Len
指定した文字列の文字数または指定した変数に必要なバイト数を表す長整数型の値を返します


LCase
アルファベットの大文字を小文字に変換する文字列処理関数です

UCase
バリアント型の値を返します。指定したアルファベットの小文字を大文字に変換する文字列処理関数です


Left
バリアント型の値を返します。文字列の左端から指定した文字数分の文字列を返します

Mid
バリアント型の値を返します。文字列から指定した文字数分の文字列を返します

Right
バリアント型の値を返します。文字列の右端から指定した文字数分の文字列を返します


Trim
指定した文字列から先頭と末尾の両方のスペースを削除した文字列を表すバリアント型の値を返します

LTrim
指定した文字列から先頭のスペースを削除した文字列を表すバリアント型の値を返します

RTrim
指定した文字列から末尾のスペースを削除した文字列を表すバリアント型の値を返します

型変換

型変換は覚えるほどのものでもなく、型の名称を知っていれば大抵は分かることです。

CBool
ブール型のデータ型に変換します。任意の有効な文字列または数値

CByte
バイト型(Byte)のデータ型に変換します

CDate
日付型(Date)のデータ型に変換します。任意の有効な日付

CDbl
倍精度浮動小数点数型(Double)のデータ型に変換します

CInt
整数型のデータ型に変換します。-32,768〜32,767。小数部分は丸められます

CLng
長整数型のデータ型に変換します。-2,147,483,648〜2,147,483,647。小数部分は丸められます

CSng
単精度浮動小数点数型(Single)のデータ型に変換します

CStr
文字列型のデータ型に変換します。CStrの戻り値は引数expressionにより異なります

データ判定

Is関数は、どのような関数があるかを覚えれば良いだけです。

InStr
ある文字列の中から指定した文字列を検索し、最初に見つかった文字位置(先頭からその位置までの文字数)を返す文字列処理関数です

InStrRev
ある文字列の中から指定された文字列を最後の文字位置から検索を開始し、最初に見つかった文字位置(先頭からその位置までの文字数)を返す文字列処理関数です

IsArray
変数が配列であるかどうかを調べ、結果をブール型で返します

IsDate
式を日付に変換できるかどうかを調べ、結果をブール型で返します

IsEmpty
変数がEmpty値かどうかを調べ、結果をブール型で返します

IsNumeric
式が数値として評価できるかどうかを調べ、結果をブール型で返します

IsMissing
プロシージャを呼び出すときに省略可能なバリアント型の引数がプロシージャに渡されたかどうかを調べるために使用します

TypeName
変数に関する情報を提供する文字列型の文字列を返します

日付時刻

日付時刻は、そのほとんどは英単語そのものです。
日付関数と時刻関数は、日付と時刻の違いだけで同様機能となっています。
従って、覚えると言っても数は実質半分です。

Date
現在のシステムの日付を含むバリアント型の値を返します

Now
コンピュータのシステムの日付と時刻の設定に基づいて、現在の日付と時刻を表すバリアント型の値を返します

DateAdd
指定された時間間隔を加算した日付をバリアント型の値で返します

DateDiff
2つの指定した日付の時間間隔を表すバリアント型の値を指定します

DateSerial
引数に指定した年、月、日に対応するバリアント型の値を返す関数です

DateValue
日付を表すバリアント型の値を返します

TimeSerial
引数で指定した時、分、および秒に対応する時刻を含むバリアント型の値を返します

TimeValue
時刻を表すバリアント型の値を返します

Weekday
何曜日であるかを表す整数を表すバリアント型の値を返します


Year
年を表すバリアント型の値を返します

Month
1年の何月かを表す0〜12の範囲の整数を表すバリアント型の値を返します

Day
月の何日かを表す1〜31の範囲の整数を表すバリアント型の値を返します


Hour
1日の時刻を表す0〜23の範囲の整数を表すバリアント型の値を返します

Minute
時刻の分を表す0〜59の範囲の整数を表すバリアント型の値を返します

Second
時間の秒を表す0〜59の範囲の整数を表すバリアント型の値を返します

配列

配列関数については、後の章で取り上げていますので、
そこで、実際の使い方を学習してください。

Array
配列が格納されたバリアント型(Variant)の値を返します

LBound
配列の指定された次元で使用できる最小の添字を、長整数型の値で返します

UBound
配列の指定された次元で使用できる添字の最大値を、長整数型の値で返します

Split
各要素ごとに区切られた文字列から1次元配列を作成し、返します

ファイル操作

ファイル操作の関数については、後の章で取り上げていますので、
そこで、実際の使い方を学習してください。
DirとEOF以外は、試験に出る可能性は低いと思います。

Dir
指定したパターンやファイル属性と一致するファイルまたはフォルダの名前を表す文字列型の値を返します。ドライブのボリュームラベルも取得できます

EOF
ランダムアクセスモードまたはシーケンシャル入力モードで開いたファイルの現在位置がファイルの末尾に達している場合、ブール型の値の真(True)を含む整数型の値を返します

FileDateTime
指定したファイルの作成日時または最後に修正した日時を示すバリアント型の値を返します

FileLen
ファイルのサイズをバイト単位で表す長整数型の値を返します

FreeFile
使用可能なファイル番号を整数型の値で返すファイル入出力関数です

GetAttr
ファイルまたはフォルダの属性を表す整数型の整数を返します

数学/財務

試験対策というより、VBAをやっていくうえで一応は知っておくべき関数です。

Abs
引き渡した数値の絶対値を同じデータ型で返します

Fix
指定した数値の整数部分を返します

Int
指定した数値の整数部分を返します

Rnd
単精度浮動小数点数型の乱数を返します

Round
指定された小数点位置で丸めた数値を返します

その他

特殊な関数になります。
DoEvents、RGB、Shell、これらは試験には出ないと思いますが、実務では必須です。

CreateObject
ActiveXオブジェクトへの参照を作成して、返します

DoEvents
発生したイベントがオペレーティングシステムによって処理されるように、プログラムで占有していた制御をオペレーティングシステムに渡すフロー制御関数です

InputBox
文字列型の値を返します。ダイアログボックスにメッセージとテキストボックスを表示し、文字列が入力されるか、またはボタンがクリックされると、テキストボックスの内容を返します

MsgBox
整数型の値を返します。ダイアログボックスにメッセージを表示し、ボタンがクリックされるのを待って、どのボタンがクリックされたのかを示す値を返します

RGB
色のRGB値を表す長整数型の値を返します

Shell
実行可能プログラムを実行し、実行が完了するとプログラムのタスクIDを示すバリアント型の値を返します。プログラムの実行に問題が発生した場合は、0を返します


【業務改善の実務】

実務としては、関数の使い方を覚えるというより、どんな関数があるかを知っておくことが重要です。

何かをするときに、関数の存在さえ知っていれば、関数の使い方等の詳細は、その時点で調べれば良い事です。
逆に、関数の存在を知らないと、解決方法を見つけられず調べることも出来なくなってしまいます。

一通りどのような関数があるかを見て下さい。
ただし、日付、文字列、このあたりの使用頻度が高い関数は、いちいち調べなくても使えるようにしておきましょう。


【本サイト内の関連ページ】





同じテーマ「MOS VBAエキスパート対策」の記事

プロシージャ
イベント
ステートメント(スタンダード)
エラーへの対処
APIとOLEオートメーション
変数と配列
レジストリの操作
ファイルの操作
ユーザーフォームとメニューの操作
VBAスタンダード試験対策まとめ

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

VBAを定型文で覚えよう|ExcelマクロVBA技術解説(3月26日)
VBAスタンダード試験対策まとめ|MOS VBAエキスパート対策(3月16日)
ユーザーフォームとメニューの操作|MOS VBAエキスパート対策(3月14日)
ファイルの操作|MOS VBAエキスパート対策(3月14日)
ユーザーフォームの各種イベント|Excelユーザーフォーム(3月13日)
レジストリの操作|MOS VBAエキスパート対策(3月12日)
変数と配列|MOS VBAエキスパート対策(3月12日)
Colorプロパティの設定値一覧|VBA技術解説(3月12日)
APIとOLEオートメーション|MOS VBAエキスパート対策(3月11日)
エラーへの対処|MOS VBAエキスパート対策(3月10日)

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

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




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


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





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

本文下部へ

↑ PAGE TOP