Excel

Excel VBA (Visual Basic for Applications) is Microsoft's proprietary programming language that enables the automation of repetitive tasks and complex operations in Excel, and allows for the extension of custom functionality.

VBA

 Excel VBA(Visual Basic for Applications)とは、Excel上の繰り返し作業や複雑な処理を自動化し、独自の機能を拡張できるMicrosoft独自のプログラミング言語です。

[開発]タブを表示する
Excelでマクロを利用するには、マクロの作成や実行などの機能を集めた[開発]タブを使用すると便利です。
VBEを起動する
VBE(Visual Basic Editor)は、VBAを作成するための総合開発環境ソフトです。
VBEの各部の名称と機能
VBEの各部の名称と機能を確認します。
標準モジュールを追加する
マクロを作成するには、マクロの入力シートである「標準モジュール」を追加する必要があります。
マクロを作成する
マクロの構造と入力方法。
マクロを保存する
マクロは、「マクロ有効ブック」というファイル形式で保存する必要があります。
マクロ有効ブックを開く
「マクロ有効ブック」を開くと「セキュリティの警告」が表示されます。
マクロの入力に関するルールと基本用語
マクロを管理したり、改良したりするときのために、「わかりやすいマクロ」を作成することが大切です。
マクロを実行しよう
作成したマクロを実行してみます。マクロの実行方法は複数用意されています。
Excelの基本的な構造
Excelの基本的な構造を確認する。
セルに文字列を設定するプログラム
セルの値を取得するプログラム
1 から 10 まで連続で書き込む
1 から 10 まで足すといくつになる?

Index

改行コード
Excel VBAの改行コードは、vbCrLfvbLf などの特殊文字列でテキストに行区切りを挿入し、セル表示やファイル入出力を制御するキー要素です。
変数
プログラム内でデータを一時的に格納し、処理に使用するための重要な要素です。

Activate [method]
指定したブックやシートをアクティブにして、以降の処理の対象として焦点を当てるために使うメソッドです。
ActiveSheet
現在アクティブなExcelワークシートを表すオブジェクトです。
ActiveWorkbook
「ActiveWorkbook」は、Excelで複数のファイルを開いているときに、その中で“いま一番前にあって操作しているブック”を指し示す便利な言葉で、VBAで命令を出すとそのブックに対して処理が実行されます。
Address [property]
セルや範囲の位置(住所)を表す文字列を返す機能です。

BuildPath
フォルダの場所とファイル名を自動で正しくつなげてくれる機能で、パスの区切り文字を気にせずに安心して使える便利な道具です。
ByVal
変数を「コピーしたもの」として渡すことで、相手が中身を変えても自分の元のデータは守られる、という“コピー渡し”の仕組みです。

Cells
セルを個別に選択していくプロパティです。
ChDir
プログラムの中で“今どのフォルダを作業場所にするか”を切り替えるための命令で、まるでエクスプローラーで別のフォルダを開き直すようなものです。
Column
列番号または列名を取得する。
CreateObject
VBAで外部プログラムやオブジェクトの新しいインスタンスを作成し、それに対する参照を提供するために使用されます。

Debug.print
値をイミディエイトウィンドウに表示する。
Dim...As...
変数を宣言するためのキーワードです。
Dir
ファイルやフォルダの名前を調べたり、フォルダの中にあるものを一つずつ取り出して教えてくれる関数で、パソコンの中を探すときの道具のようなものです。
Do...Loop
処理を何度も繰り返すための枠を作り、『〜の間くり返す』や『〜になるまでくり返す』といった流れを簡単に表現できる仕組みです。
Do While...Loop
Excel VBA の Do While は、「ある条件が満たされているあいだ、同じ作業を繰り返すための仕組みで、条件を満たさなくなったら自動で止まる便利なループ」です。

End [keyword]
SubFunctionIf文などのブロックを正しく終わらせるためのキーワードである一方、単独で使用した場合にはVBAの処理を強制的に終了させる特別な役割も担うものです。
Exit [command]
プログラムの特定の部分(ループや手続き)から途中で抜け出すためのコマンドです。

For文
指定した回数だけ繰り返し同じ処理を自動で行うための命令です。
Function [procedure]
Subプロシージャと異なり引数を受け取り計算や処理を行った結果を値として返すことができ、ユーザー独自のワークシート関数を作成可能にするプロシージャです。
Functionプロシージャはワークシート関数として使えるだけでなく、通常のマクロ(Subプロシージャ)の中から呼び出して計算結果を利用することもできます。覚えておくとよいのは、Functionプロシージャは「ユーザー定義関数(UDF)」とも呼ばれる、という点です。

GoTo [statement]
コードの特定のポイントへ直接ジャンプするための命令です。

If...Then...End If
特定の条件が真(True)の場合に特定のコードを実行する制御構造です。
InStr
指定した文字列内で特定の文字列を探し、その文字列が最初に出現する位置を返す関数です。

LBound [function]
配列の最初の要素の位置を教えてくれる関数です。

Mod [operator]
二つの数値を割った時の余りを求める演算子です。
MsgBox
画面にメッセージを表示する。

Name [property]
Excelのオブジェクト(セル、範囲、シートなど)に特定の名前を割り当て、それを通じて簡単に参照できるようにする機能です。

On Error GoTo
プログラム中でエラーが起きても止まらずに、あらかじめ決めた場所へ移動して安全に処理を続けられるようにするための仕組みです。

Path
Excel VBA で使う Path は、パソコンの中でファイルやフォルダがどこにあるかを示す『住所』のようなもので、正しく指定することで読み込みや保存、整理などがスムーズにできるようになります。
Property [procedure]
値やオブジェクトを安全かつわかりやすく読み書きするための仕組みです。
Excelのセルやオブジェクトには「値」や「状態(性質)」があります。Propertyプロシージャを使うと、それらをわかりやすい形で設定したり取得したりできるようになります。例えば、セルの内容を表す Range.Value もプロパティの一例です。

Range [object]
シート上の特定のセルまたはセル範囲を指定し、その値や書式などを自由に読み書き・操作できるようにするためのオブジェクトです。
Right
文字列の右の端っこから、指定した数だけ文字を取り出せる便利な関数で、例えば電話番号の下4桁だけを抜き出すといった使い方ができます。
Row
範囲内の最初の領域の最初の行の番号を返します。

Set
オブジェクト型で宣言したオブジェクト変数に、オブジェクトを格納するときに使用する。
Sub...End Sub [procedure]
プロシージャは「Sub」で始まり「End Sub」で終わります。

ThisWorkbook
現在のExcelブックを参照し、そのブック内のマクロコードを操作するための特別なオブジェクトです。

UBound [function]
配列の最大のインデックス(要素の数)を取得する関数です。

Value
Valueプロパティとはシートの1つのセルに入力されている値の情報を表すプロパティです。

With...End With
同じオブジェクトに対する複数のプロパティやメソッドの操作を簡潔に表現するための構文です。
Workbooks
Excelアプリケーション内のワークブック(Excelファイル)のコレクションを表します。
Workbooks.Open [method]
指定したパスにあるExcelファイルを開くための命令です。
Worksheets [object]
VBAプログラミングを通じてExcelのシートを操作するためのオブジェクトです。