第9回.関数という便利な道具(VBA関数)
プログラミング言語であるVBAには、多くの人が共通して必要となる機能が用意されています。
その用意されている機能は関数と呼ばれるものです、
関数を使わなければできない事も多くありますし、関数を使う事で長いプログラムを書かなくて済む事になります。
以下は、これだけは知っておきたい関数の一覧です。
これだけは覚えておきたい必須VBA関数
関数名 | 機能 |
Left | 文字列の左端から指定した文字数分の文字列を返します |
Right | 文字列の右端から指定した文字数分の文字列を返します |
Mid | 文字列から指定した文字数分の文字列を返します |
Len | 指定した文字列の文字数または指定した変数に必要なバイト数の値を返します |
Replace | 指定された文字列の一部を、別の文字列で指定された回数分で置換した文字列を返します |
StrConv | 指定された変換方式で変換した文字列を返します |
InStr | ある文字列 (string1) の中から指定した文字列 (string2) を検索し、最初に見つかった文字位置 (先頭からその位置までの文字数) を返します |
IsDate | 式を日付に変換できるかどうかを調べ、結果をブール型 (Boolean) で返します |
IsNumeric | 式が数値として評価できるかどうかを調べ、結果をブール型 (Boolean) で返します |
Date | 現在のシステムの日付の値を返します |
DateAdd | 指定された時間間隔を加算した日付を返します |
DateDiff | 2 つの指定した日付の時間間隔の値を返します |
DateSerial | 引数に指定した年、月、日に対応する日付を返します |
Year | 年を表すバリアント型 (内部処理形式 Integer の Variant) の値を返します |
Month | 1 年の何月かを表す値を返します |
Day | 月の何日かを表す 1~31 の範囲の整数の値を返します |
Format | 式を指定した書式に変換し、その文字列を示す値を返します |
InputBox | 文字列型 (String) の値を返します。ダイアログ ボックスにメッセージとテキスト ボックスを表示し、文字列が入力されるか、またはボタンがクリックされると、テキスト ボックスの内容を返します |
MsgBox | 整数型 (Integer) の値を返します。ダイアログ ボックスにメッセージを表示し、ボタンがクリックされるのを待って、どのボタンがクリックされたのかを示す値を返します |
VBA関数はもっとたくさんあって150個くらいあります。
その中で、とりあえず、このくらい知っていればなんとかなるだろうという20個を厳選しました。
必要に応じて、都度使える関数を増やしていけば良いです。
関数を自在に使えるという事が、マクロを自在に書けるということでもあります。
VBA関数の練習
表示書式指定文字は様々な文字があります。
簡単に調べるには、
セルの書式→表示形式→ユーザー定義
ここでの指定と、ほぼ同様(違う部分があります)なので、これを参考にしてください。
シート関数のFIND関数と同様と考えてください。
変換方式は、
vbUpperCase | 文字列を大文字に変換します。 |
vbLowerCase | 文字列を小文字に変換します。 |
vbProperCase | 文字列の各単語の先頭の文字を大文字に変換します。 |
vbWide* | 文字列内の半角文字 (1 バイト) を全角文字 (2 バイト) に変換します。 |
vbNarrow | 文字列内の全角文字 (2 バイト) を半角文字 (1 バイト) に変換します。 |
vbKatakana | 文字列内のひらがなをカタカナに変換します。 |
vbHiragana | 文字列内のカタカナをひらがなに変換します。 |
vbUnicode | システムの既定のコード ページを使って文字列を Unicode に変換します。 |
vbFromUnicode | 文字列を Unicode からシステムの既定のコード ページに変換します。 |
シート関数のSUBSTITUTE関数と同様と考えてください。
ExcelマクロVBA入門の対応ページ
第45回.VBA関数(Format)
第46回.VBA関数(日付,DateAdd)
第47回.VBA関数(文字列操作,Replace,InStr,StrConv)
第48回.VBA関数(その他,Fix,Int,Rnd,Round,IsEmpty)
同じテーマ「マクロVBA再入門」の記事
第6回.表の先頭から最終行まで繰り返す(ForとEnd(xlUp).Row)
第10回.ワークシートの関数を使う(WorksheetFunction)
新着記事NEW ・・・新着記事一覧を見る
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.ブック・シートの選択(Select,Activate)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。