第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)
第7回.セルの値によって計算を変える(Ifステートメント)
第8回.表範囲をまとめて消去する(OffsetとClearContents)
第9回.関数という便利な道具(VBA関数)
第10回.ワークシートの関数を使う(WorksheetFunction)
第11回.分からない事はエクセルに聞く(マクロの記録)
第12回.エクセルの言葉を理解する(オブジェクト、プロパティ、メソッド)
第13回.セルのコピペ方法を知る(CopyとPaste、さらに)
第14回.セルの書式を設定する(NumberFormatLocal,Font,Borders,Interior)
第15回.手作業で出来なければマクロは書けない
第16回.エクセルの機能を上手に使う
新着記事NEW ・・・新着記事一覧を見る
付録:AI×VBA実践リソース集|生成AI活用研究(2025-05-25)
おわりに:AI×VBAはあなたの未来を変える強力な武器|生成AI活用研究(2025-05-25)
第7章:さらなる高みへ!AI×VBA応用テクニックと未来への備え|生成AI活用研究(2025-05-24)
第6章:AIとVBAを学び続ける!あなたの「超効率化」を止めないヒント|生成AI活用研究(2025-05-22)
第5章:AI×VBAでつまづかない!トラブルシューティングとAIとの付き合い方
|生成AI活用研究(2025-05-21)
第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する!
|生成AI活用研究(2025-05-20)
第3章:AIを「自分だけのVBA先生」にする!質問・相談の超実践テクニック|生成AI活用研究(2025-05-19)
第2章 VBAって怖くない!Excelを「言葉で動かす」(超入門)|生成AI活用研究(2025-05-18)
第1章:AIって一体何?あなたのExcel作業をどう変える?(AI超基本)|生成AI活用研究(2025-05-18)
AI時代のExcel革命:AI×VBAで“書かない自動化”超入門|生成AI活用研究(2025-05-17)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.ひらがな⇔カタカナの変換|エクセル基本操作
6.RangeとCellsの使い方|VBA入門
7.メッセージボックス(MsgBox関数)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.FILTER関数(範囲をフィルター処理)|エクセル入門
10.条件分岐(Select Case)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。