■ VBA関数の一覧
Excel VBAには、あらかじめ用意された便利なVBA関数群があります。
これらVBA関数を使用することで、文字列や数値、日付を操作したり、書式を変更することが簡単に行えます。
ここではアルファベット順に関数を一覧化し、関数名から使用法を簡単に検索できるようにしました。
関数の使い方がわからないときは、ぜひこの一覧リストを参考にしてください。
"C" から始まる関数
■ CallByName 関数
[構文] CallByName(object, procname, calltype,[args()])
[解説]
引数objectに指定したオブジェクトのプロパティの設定と取得、およびメソッドの実行を行います。
[サンプル]
Private Sub UserForm_Initialize()
Call SampleCallByName1
End Sub
Sub SampleCallByName1()
CallByName TextBox1, "Text", VbLet, "初期値"
End Sub
Private Sub UserForm_Terminate()
Call SampleCallByName2
End Sub
Sub SampleCallByName2()
Debug.Print CallByName(TextBox1, "Text", VbGet)
End Sub
[TextBox1]テキストボックスをもつUserFormのフォームモジュールにこのサンプルを記述すると、フォームを開いたとき、[TextBox1]テキストボックスに"初期値"の文字列が入力されます。また、フォームを閉じるとき、[TextBox1]テキストボックスの文字列がイミディエイトウィンドウに出力されます。 |
■ CBool 関数
[構文] CBool(expression)
[解説] 引数expression をブール型にして返します。
■ CByte 関数
[構文] CByte(expression)
[解説] 引数expression をバイト型にして返します。
■ CCur 関数
[構文] CCur(expression)
[解説] 引数expression を通貨型にして返します。
■ CDate 関数
[構文] CDate(expression)
[解説] 引数expression を日付型にして返します。
■ CDbl 関数
[構文] CDbl(expression)
[解説] 引数expression を倍精度浮動小数点型にして返します。
■ CDec 関数
[構文] CDec(expression)
[解説] 引数expression を10進型にして返します。
■ CInt 関数
[構文] CInt(expression)
[解説] 引数expression を整数型にして返します。
■ CLng 関数
[構文] CLng(expression)
[解説] 引数expression を長整数型にして返します。
■ CSng 関数
[構文] CSng(expression)
[解説] 引数expression を単精度浮動小数点型にして返します。
■ CStr 関数
[構文] CStr(expression)
[解説] 引数expression を文字列型にして返します。
■ CVar 関数
[構文] CVar(expression)
[解説] 引数expression をバリアント型にして返します。
■ Choose 関数
[構文] Choose(index, choice-1,…,choice-n)
[解説]
indexには選択可能な範囲の数値を指定します。選択可能な範囲とは、choice-1からchoice-nまでのリスト数です。choiceに指定したリストからindexで指定した項目を返します。indexに整数以外の数値を指定した場合、整数を超えない範囲で整数に丸められます。またindexに1未満の数値やリスト数より大きい数値を指定するとエラーになります。
[サンプル]
Sub SampleChoose()
Dim i As Long
For i = 1 To 7
Debug.Print Choose(i, "月", "火", "水", "木", "金", "土", "日")
Next i
End Sub
このサンプルを実行すると、"月"から"日"までの文字列をイミディエイトウィンドウに出力します。 |
■ Chr 関数
[構文] Chr(num)
[解説]
引数numに指定した文字コードに対応する文字を返します。ASCIIコードの0〜31の範囲の文字は表示できません。この中には制御文字が含まれています。通常、引数numは0〜255までの値を指定します。
[サンプル]
Sub SampleChr()
Dim i As Long
For i = 33 To 47
Debug.Print Chr(i)
Next i
End Sub
このサンプルを実行すると、文字コード33(!)から文字コード47(/)までの文字をイミディエイトウィンドウに出力します。
※ 次の制御文字はタブや改行で頻繁に使用します。
Chr(9)タブ
Chr(10)ラインフィード
Chr(13)キャリッジ リターン
※ ChrB関数は文字ではなく1バイトのバイトデータを返します。ChrW関数はUnicode文字セットの文字を返します。 |
■ Cos 関数
[構文] Cos(number)
[解説]
引数numberにラジアンを指定すると、引数の角度をはさむ直角三角形の2辺の比を返します。2辺の比は、短い辺 (底辺) の長さを、長い辺 (斜辺) の長さで割った-1〜1の範囲の値になります。
■ CreateObject 関数
[構文] CreateObject(class)
[解説]
引数classに、appname.objecttypeの形式で指定すると、ActiveXオブジェクトへの参照を返します。appnameはオブジェクトを提供しているアプリケーションの名前を、objecttypeは作成するオブジェクトの種類またはクラスを指定します。また、戻り値はオブジェクト型変数に代入して利用することもできます。
[サンプル]
Sub SampleCreateObject()
Dim MyApp
Set MyApp = CreateObject("InternetExplorer.Application")
With MyApp
.Visible = True
.Navigate "home.att.ne.jp/zeta/gen/excel"
End With
Set MyApp = Nothing
End Sub
このサンプルを実行すると、InternetExplorerが開き、エクセル大事典のサイトを表示します。 |
■ CurDir 関数
[構文] CurDir[(drive)]
[解説]
引数driveに指定したドライブの現在のパスを返します。引数driveを省略したり、長さ0の文字列を指定した場合は、現在のドライブの現在のパスを返します。
[サンプル]
Sub SampleCurDir()
Debug.Print CurDir
Debug.Print CurDir("C")
Debug.Print CurDir("E")
End Sub
現在のドライブはCドライブで、
Cドライブの現在のパスが"C:\Documents and Settings\User\My Documents"、
Eドライブの現在のパスが"E:\Excel"のとき、このサンプルを実行すると、
C:\Documents and Settings\User\My Documents
C:\Documents and Settings\User\My Documents
E:\Excel
がイミディエイトウィンドウに出力されます。 |
■ CVDate 関数
[構文] CVDate(expression)
[解説]
引数dateに任意の日付式を指定すると、内部処理形式がDateのバリアント型の値を返します。以前のバージョンのVisual Basicと互換性を保つため用意された関数です。
■ CVErr 関数
[構文] CVErr(errornumber)
[解説]
ユーザーが引数errornumberに指定したエラー番号を、内部処理形式であるエラー値に変換した値を返します。
[サンプル]
Sub SampleCVErr()
Debug.Print ProcCalc("0.05A")
End Sub
Function ProcCalc(Number)
If IsNumeric(Number) Then
ProcCalc = Number * 100 & "%"
Else
ProcCalc = CVErr(1001)
End If
End Function
このサンプル[SampleCVErr]を実行すると、[ProcCalc]Functionプロシージャを呼び出します。引数が数値のとき、[ProcCalc]プロシージャはパーセントに変換した値を返しますが、数値以外のとき、"エラー 1001"をイミディエイトウィンドウに出力します。 |
次は、"D"から始まるVBA関数について解説します。
|