VBA

最終更新日: 2023.12.24 (公開: 2023.12.21)

VBA関数でできることとは?おすすめの学習書籍を紹介します

VBA関数でできることとは?おすすめの学習書籍を紹介します

本記事では、Microsoft Office製品で処理を自動化する際に使われるプログラミング言語「VBA」について、VBA関数の特徴や、「VBA」で何ができるのかなどを解説します。

「VBA」は、Visual Basic for Applicationsの略称で、Microsoft Office製品で処理を自動化する際に使われるプログラミング言語です。「VBA」を使用することで、一連の操作を自動化、繰り返しおこなうタスクの効率化、ユーザー定義関数の作成、Officeアプリケーション間でデータの共有ができます。

本記事では、VBA関数の特徴と、「VBA」で何ができるのかを解説します。

VBA関数の3つの種類

VBA関数の3つの種類

VBA関数は、以下の3つに分けられます。

  • VBA関数
  • ワークシート関数
  • Function関数

ここでは、それぞれを解説します。

VBA関数

VBA関数は、「VBA」を書く際に初めから使用できる関数です。VBA関数を使用することでさまざまな処理を簡単に記述できます。

たとえば桁数の切り上げや切り捨ては、1から計算式を組むと手間や時間がかかってしまいます。しかしVBA関数には、IntやFixといった関数があり、自分で計算式を組むことなく簡単に切り上げや切り捨てを指定することが可能です。

ワークシート関数

ワークシート関数は、Excel内のセルに入力することで扱える関数で、代表的なものはSUM関数やIF関数です。

「WorksheetFunction.関数名(引数…)」という記述をすることで、Excelで使用するのと同じようにワークシート関数を扱えます。うまく活用することによって、業務をより効率化できるでしょう。

Function関数

Function関数は既存の関数を扱うVBA関数・ワークシート関数とは違い、自作で扱う関数です。

Function関数は戻り値を返す特性を持ち、手続きを実行するだけのSubとは異なります。VBAでは、FunctionとSubは主要な手続きタイプです。しかし、単に手続きを実行するだけのSubに対し、Functionは計算結果や条件分岐の結果を戻り値として返すことが可能です。戻り値があることにより開発だけでなく修正など、より高度な用途にも対応できます。

VBA関数を使ってできること5選

VBA関数を使ってできること5選

VBA関数を使ってできることは、主に5つです。

  • 自動での転記作業
  • レポート作成
  • Microsoft Office製品の連携作業
  • メールの一括送信
  • データベースの管理

ここからは、それぞれを解説します。

自動での転記作業

VBA関数を使ってできることの1つ目は、「自動での転記作業」です。

VBA関数を使用することで、別シートや別ブックからデータを自動で転記させたり、入力したデータを別の場所に転記させたりできます。また、複数シート内のデータを1つのシートにまとめることも可能です。手作業だとかなり手間のかかってしまう作業が「VBA」を使うとワンクリックで転記作業を終わらせられます。

レポート作成

VBA関数を使ってできることの2つ目は、「レポート作成」です。

「VBA」を実行することで、集計されたデータを元にレポートを自動作成できます。表として可視化するだけでなくグラフ化もできるため、自動でわかりやすいレポートの作成が可能です。さらには、PDFファイル形式でのレポートのエクスポートまで自動化できます。

Microsoft Office製品の連携作業

VBA関数を使ってできることの3つ目は、「Microsoft Office製品の連携作業」です。

「VBA」は、WordやPowerPoint・Access・Outlookなど、Microsoft Office製品であればどのアプリケーションでも利用できます。

たとえば、Excelではデータの集計や分析、Wordでは文書の一括編集、PowerPointではプレゼンテーションの一括更新、Outlookではメールの一括処理などが可能です。このように一連の作業をVBAで完結することによって、作業の効率化や人的ミスを未然に防ぐことにもつながります。

メールの一括送信

VBA関数を使ってできることの4つ目は、「メールの一括送信」です。

「VBA」はMicrosoftのメーラーであるOutlookとの連携も可能で、メールの作成から送信までの手順も自動化できます。メールにリンク情報や添付ファイルの自動添付も可能であるため、メールマガジンのような形式が定まっている内容のメール作成から一斉送信の自動化が可能です。

データベースの管理

VBA関数を使ってできることの5つ目は、「データベースの管理」です。

「VBA」を実行することによって、Excelワークシート上でデータベースの更新をおこなえます。ただし、データベースの更新にはSQL文を使用しなければならないため、基本的なSQLの知識も必要です。

対応しているデータベースは、MySQL・Oracle・Microsoft Accessなどと幅広く、さまざまなデータベースに簡単に接続できます。VBA関数を使用して、Excel内データの外部データベース(MySQLやOracleなど)への移行、データベースとの連携によるデータ件数の制限拡張、Excelファイルの容量削減が可能となります。

VBA関数の基本的な使い方

VBA関数の基本的な使い方

VBA関数の基本的な使い方は、主に4つです。

  • VBA関数の記述方法
  • VBA関数の引数を知ろう
  • 引数が要らないVBA関数
  • 引数が必須のVBA関数

ここからは、それぞれ詳しく解説します。

VBA関数の記述方法

VBA関数を利用するには、定められた書式に則って記述する必要があります。以下のようにVBA関数名のあとにカッコで囲む形で引数を記述します。

VBA関数名(引数)

引数の種類や数などはVBA関数ごとで変わるため、その都度確認してください。

VBA関数の引数を知ろう

VBA関数は、引数が要らないVBA関数、引数が必須のVBA関数、引数の指定が任意のVBA関数の3種類があります。引数が複数ある場合には、以下のように引数をカンマで区切って並べて記述します。

VBA関数名 (引数1,引数2 …)

引数が不要なVBA関数の場合は関数名のあとのカッコは不要で、VBA関数名のみを記述します。また、1番目の引数のみ必須でのこりの引数は任意で省略可能といったタイプのVBA関数もあり、MsgBox関数などが該当します。1番目と3番目の引数のみを指定したい場合は、以下のように2番目の箇所をカンマのみで記述してください。

VBA関数名 (引数1,,引数3)

引数が要らないVBA関数

「VBA」では、引数の要らないVBA関数があります。
引数が要らないVBA関数の1つがDate関数です。Date関数は現在のシステムの日付を返すVBA関数で、ワークシート関数であるTODAYと同じ働きをします。

現在の日付を表示する関数の記述例は、以下の通りです。

Sub test()
	Dim d As Date
	d=Date
	MsgBox d
End Sub

この関数を実行することで、変数dにDate関数で取得した現在の日付の値が格納され、MsgBox関数によって現在の日付が表示されたダイアログボックスが出力されます。
このように、引数が要らないVBA関数は、関数名のみを記述してください。

引数が必須のVBA関数

「VBA」には、引数が必須のVBA関数もあります。引数が必要なVBA関数の例は、Len関数です。Len関数は、引数として指定された文字列の文字数を返します。

指定した文字列の文字数を表示する関数の記述例は、以下の通りです。

Sub test2()
	Dim s As String
	s="これはテスト文章です"
	MsgBox "文字数は" & Len(s)
End Sub

この関数を実行することで、変数sに格納されている文字列「これはテスト文章です」の文字数が表示されたダイアログボックスが出力されます。

VBA学習におすすめの書籍3選

VBA学習におすすめの書籍3選

「VBA」の学習におすすめの書籍には、レベルごとに以下のようなものがあります。

  • [初級]Excel VBA 脱初心者のための集中講座
  • [中級]Excel VBA 逆引き辞典パーフェクト
  • [上級]ExcelVBAを実務で使い倒す技術

ここからは、それぞれの書籍について解説します。「VBA」未経験の方から使用経験のある方まで、書籍を選ぶときの参考にしてください。

【初級】Excel VBA 脱初心者のための集中講座

【初級】Excel VBA 脱初心者のための集中講座

Excel VBA 脱初心者のための集中講座

1冊目のVBA学習におすすめの書籍は、「Excel VBA 脱初心者のための集中講座」です。

本書は、マクロ初心者の初心者脱却をコンセプトに書かれています。解説の要所には説明動画のQRコードが用意されているなど、初心者の方でも理解しやすい工夫がされています。

コードを書くための正しい作法や、Microsoft Office製品との連携方法、マクロの高速化など、読み進めていくことで「VBA」についての理解を深められるでしょう。

【中級】Excel VBA 逆引き辞典パーフェクト

【中級】Excel VBA 逆引き辞典パーフェクト

Excel VBA逆引き辞典パーフェクト

2冊目のVBA学習におすすめの書籍は、「Excel VBA 逆引き辞典パーフェクト」です。

本書は630にも及ぶ項目数のある情報量の多い本で、一度読み終わったあとはタイトル通り「VBA」の逆引き辞典としても利用できます。ダウンロード可能なサンプルも用意されているため、実際に操作をしながら理解を深められます。自分で操作しながら「VBA」を学んでいきたい方におすすめの1冊です。

【上級】ExcelVBAを実務で使い倒す技術

【上級】ExcelVBAを実務で使い倒す技術

ExcelVBAを実務で使い倒す技術

3冊目のVBA学習におすすめの書籍は、「ExcelVBAを実務で使い倒す技術」です。

本書は「VBA」の基礎を学び終えた方をターゲットにしている本で、「VBA」を実務で使う上で求められる知識と知恵を提供することを目的としています。現場で必要なさまざまなノウハウが書かれているので、実際の職場で「VBA」を使用している方や導入を検討している方にもおすすめの1冊です。

VBA関数を使って作業を効率化しよう

VBA関数を使って作業を効率化しよう

「VBA」は多くの企業で使用されているMicrosoft Office製品で使用するプログラミング言語であるため、スキルを習得することでさまざまな業務に活かせます。データの自動集計やメールの一括送信などの定形作業を「VBA」を使って自動化することにより、他の作業に時間を充てられるだけでなく、人的ミスも排除することが可能です。

「VBA」を使えるようになると、他のプログラミング言語の学習もスムーズに進めやすくなるので、本記事を参考に「VBA」からプログラミング学習を始めることをおすすめします。

アクセスランキング 人気のある記事をピックアップ!

    コードカキタイがオススメする記事!

    1. 子供におすすめのプログラミングスクール10選!学習メリットや教室選びのコツも紹介

      2024.01.26

      子供におすすめのプログラミングスクール10選!学習メリットや教室選びのコツも紹介

      #プログラミングスクール

    2. 【完全版】大学生におすすめのプログラミングスクール13選!選ぶコツも詳しく解説

      2022.01.06

      【完全版】大学生におすすめのプログラミングスクール13選!選ぶコツも詳しく解説

      #プログラミングスクール

    3. 【未経験でも転職可】30代におすすめプログラミングスクール8選!

      2024.01.26

      【未経験でも転職可】30代におすすめプログラミングスクール8選!

      #プログラミングスクール

    4. 初心者必見!独学のJava学習方法とおすすめ本、アプリを詳しく解説

      2024.01.26

      初心者必見!独学のJava学習方法とおすすめ本、アプリを詳しく解説

      #JAVA

    5. 忙しい社会人におすすめプログラミングスクール15選!失敗しない選び方も詳しく解説

      2024.01.26

      忙しい社会人におすすめプログラミングスクール15選!失敗しない選び方も詳しく解説

      #プログラミングスクール

    1. 【無料あり】大阪のおすすめプログラミングスクール14選!スクール選びのコツも紹介

      2022.01.06

      【無料あり】大阪のおすすめプログラミングスクール14選!スクール選びのコツも紹介

      #プログラミングスクール

    2. 【目的別】東京のおすすめプログラミングスクール20選!スクール選びのコツも徹底解説

      2024.01.26

      【目的別】東京のおすすめプログラミングスクール20選!スクール選びのコツも徹底解説

      #プログラミングスクール

    3. 【無料あり】福岡のおすすめプログラミングスクール13選!選び方も詳しく解説

      2024.01.26

      【無料あり】福岡のおすすめプログラミングスクール13選!選び方も詳しく解説

      #プログラミングスクール

    4. 【徹底比較】名古屋のおすすめプログラミングスクール13選!選び方も詳しく解説

      2024.01.26

      【徹底比較】名古屋のおすすめプログラミングスクール13選!選び方も詳しく解説

      #プログラミングスクール

    5. 【徹底比較】おすすめのプログラミングスクール18選!失敗しない選び方も徹底解説

      2024.01.26

      【徹底比較】おすすめのプログラミングスクール18選!失敗しない選び方も徹底解説

      #プログラミングスクール