目次

この記事の目次です。

1. Excel VBAとは
2. 入門するための準備作業について
3. 変数
4. エクセルシートにボタンを追加して実行する方法
5. 名前を指定してファイルを開く方法

更新履歴

1. Excel VBAとは

VBAとは、Visual Basic for Applicationsの略で、Microsoft Officeに含まれるアプリケーションの拡張機能、あるいはその機能で利用できるプログラム言語のことをいいます。 Excelなどの利用者が簡単なプログラムを記述して実行することができます。

読み方

Excel VBAの読み方は「エクセル ブイビーエー」です。

マクロ

VBAで書かれたプログラムのことをマクロといいます。

Microsoft Officeで利用する

KingsoftなどMicrosoft Office以外でも対応していますが、Microsoft Officeが標準装備している定数、プロパティー、メソッド、クラス等はごく一部でうまく動作しないケースが多いです。 VBAのマクロを利用したい場合は、Microsoft Officeで利用するものと考えた方が無難です。

2. 入門するための準備作業について

Excel VBAに入門するにはVBAが使えるようマクロVBAが使える環境にする必要があります。

「開発」タブを追加

ご自身のExcelを起動すると「開発」タブは表示されますでしょうか。 Excel VBAを始めるには、まず「開発」タブが表示される状態にする必要があります。

Excel2007

左上のOfficeボタン ⇒ 一番下の「Excelのオプション」 ⇒ 左メニューの「基本設定」 ⇒ 「開発」タブをリボンに表示する、にチェックすることで「開発」タブが表示されます。

Excel2010以降

ファイル ⇒ オプション ⇒ 左メニューの「リボンのユーザー設定」 ⇒ 「開発」にチェックすることで「開発」タブが表示されます。

「Visual Basic Editor」の表示

Excel VBAのコードは「Visual Basic Editor」で編集します。 「Visual Basic Editor」は、Excel上部リボンの「開発」⇒「Visual Basic」で表示できます。

マクロの実行方法

マクロを動かすには実行メニューから行うか、F5キーで行ないます。

3. 変数

変数は扱うデータを読み書きする記憶域で、名前をつけてデータを扱うことのできる機能です。

変数のスコープと種類

変数はスコープ(使用できる範囲)によってDim、Private、Public、Staticなどの識別子を記述します。

Dimはローカル変数(プロシージャ内だけで使用できる変数)、 Privateはプライベート変数(そのモジュールだけで使用できる変数)、 Publicはパブリック変数(全てのモジュールで使用できる変数)、 Staticはプログラム終了まで値が保持される変数です。

変数の宣言

変数は以下のように宣言して使用します。

Dim hensuu As Integer

Dimはローカル変数(プロシージャ内だけで使用できる変数)にしたいとき記述し、hensuuは変数の名前、As Integerはデータ型(どのようなデータを扱うか)を指定する記述です。

4. エクセルシートにボタンを追加して実行する方法

エクセルシートにボタンを追加して、そのボタンからマクロが実行できるようにする方法です。

開発タブ>挿入>ボタンアイコン

開発タブにある挿入から、ボタンのアイコンを選択して、エクセルシート上でマウスのドラックしてボタンを配置します。

マクロ名を決めて新規作成

ボタンを配置すると自動でマクロの登録ダイアログが表示されます。 マクロ名を設定して、新規作成を選択します。

Visual Basic Editorでマクロを実装

新規作成を選択すると、Visual Basic Editorが開きます。 Visual Basic Editorでマクロを記述します。

以下は、「ボタン_Click()」というマクロ名を付けて、メッセージボックスを表示するコードの例です。

Sub ボタン_Click()
	MsgBox "ボタンがクリックされました。"
End Sub

保存してボタンを押すとマクロが実行される

Visual Basic Editorでコードを保存すると、作成したエクセルシート上のボタンでマクロが実行できるようになります。

5. 名前を指定してファイルを開く方法

名前を指定してファイルを開くには、Application.GetOpenFilename関数を使用します。

サンプルプログラム(CVSファイルの取り込みの例)

CVSファイルの取り込みを行うサンプルプログラムです。

Sub getCVS()
  Dim varFileName As Variant


  varFileName = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", _
                    Title:="CSVファイルの選択")
  If varFileName = False Then
    Exit Sub
  End If
  
  Workbooks.Open Filename:=varFileName
  ActiveSheet.Cells.Copy ThisWorkbook.ActiveSheet.Cells
  ActiveWorkbook.Close SaveChanges:=False
End Sub

更新履歴

更新履歴になります。

位置:トップExcel VBA