EXCEL VBA
REGLECASSE YU SATO
目次
• はじめに • 開発タブの表示 • 拡張子 • VBEの起動と初期設定 • モジュールの挿入、削除 • プロジェクト、モジュール、プロシー ジャ • Subプロシージャ • 基本説明 • セルの指定(Range) • 変数とデータ型(String,Long) • 変数の宣言(Dim) • If~Then • For~Next • 応用:If~ThenとFor~Next • ボタンの作成 • 最後にはじめに
• VBAとはVisual Basic for Applicationsの略で、MicroSoft Officeシリーズに搭
載されているプログラミング言語である • Word,Excel,Access,PowerPointなどありますが、今回はExcelに特化して説明 していきます • プログラミングは分からなくても、Excelが多少分かる方であれば取り組みやす いと思います • 記載している内容は割愛している部分多いですが、 VBAに興味を持って頂ける ことに重点を置いているので、少しでもきっかけになれたら幸いです • それでは、まずExcelを開きましょう
開発タブの表示
• メインタブに「開発」が無い場合は、「ファイル」→「オプション」→「リボン ユーザー設定」からメインタブの開発にチェックを入れて「OK」をクリックし てください 「開発」がなければ、 表示させてください オプション画面拡張子
• Excel2007以降、VBAをブックに保存する際は、拡張子を「.xlsm」で保存する必 要があります(Excel2003は「.xls」でOK) • まずExcelのブックを「名前を付けて保存」(「F12キー」を押下)で任意のファイ ル名を入力したら、ファイルの種類を「Excel マクロ有効ブック(*.xlsm)」にし て、保存をします 拡張子 説明 .xls Excel2003までのExcelファ イルに付く拡張子 .xlsx Excel2007以降のExcelファ イルに付く拡張子 .xlsm Excel2007以降のExcelファ イル(マクロ付き)に付く 拡張子VBEの起動と初期設定
• VBAプログラムを表示するには「Visual Basic Editor(以下VBE)」を使います。
• VBEを起動するには、「Alt」キー+「F11」キーを押下して起動します。
• メニューより「ツール」→「オプション」
「自動構文チェック」のチェックをはずし 「変数の宣言を強制する」にチェックを
モジュールの挿入、削除
• メニューより「挿入」→「標準モジュール」を選択します • モジュールを削除する場合は、 モジュールを右クリック、 ※「Module1の解放」を選択し、 エクスポートは「いいえ」を 選択すれば削除できます ※モジュール名によって変わる 挿入画面プロジェクト、モジュール、プロシージャ
プロジェクト モジュール プロシージャ プロシージャ プロジェクト モジュール プロシージャ のイメージ図SUBプロシージャ
• 「Sub」で始まり「End Sub」で終わります。この間に実際のプログラムを記述 します。そしてプロシージャを識別するために「Sub」の後ろにプロシージャ名 を記述します。 • プロシージャ名はアルファベット、ひらがな、漢字などを使えます。数字も使え ますがプロシージャ名の先頭には文字を使わなければなりません。またアンダー バーは使えますが記号やスペースなどは使えません。 • 2バイト文字(ひらがな、漢字)は使用できますが、あまり好ましくないので使 用は避けましょう。 プロシージャ名基本説明
• まず図1の様に入力し、プロシージャ内でカーソルを合わせ「F5」キーを押下す ると、アクティブになっているシートが図2の様になります • 1行ずつ実行する場合は、「F8」キー(ステップ実行)を押下してください • VBAでは、記号の「=」は2つの意味を持ちます 1.右辺と左辺が等しい 2.右辺を左辺に代入する 図1の場合は、2の「右辺を左辺に代入する」になります • 文字列は、“レグルカセ”の様にダブルクォーテーションで括ります • 数値は、ダブルクォーテーションで括る必要はありません 図1 図2セルの指定
(RANGE)
• Range(“A1”)は、A1セルを指定します。 • Range(“A1:C5”)は、A1セルからC5セルを範囲指定します(図3) • Range(“A1”,”C5”)は、A1セルからC5セルを範囲指定します(図3) • Range(“A1,C5”)は、 A1セルとC5セルを範囲指定します(図4) • Range(“A:A”)は、A列を範囲指定します • Range(“1:1”)は、1行目を範囲指定します ※ここでは、Cells,Columns,Rowsの説明は割愛します 図3 図4変数とデータ型
(LONG, STRING)
データ型 名称 格納できる範囲
Integer 整数型 -32,768 ~ 32,767
Long 長整数型 -2,147,483,648 ~ 2,147,483,647
Single 単精度浮動小数点数型 -3.402823E38 ~ -1.401298E-45(負の値) 1.401298E-45 ~ 3.402823E38(正の値)
Double 倍精度浮動小数点数型 -1.79769313486232E308 ~ -4.94065645841247E-324(負の値) 4.94065645841247E-324 ~ 1.79769313486232E308(正の値) Currency 通貨型 -922,337,203,685,477.5808 ~ 922,337,203,685,477.00
String 文字列型 最大約20億文字まで
Date 日付型 西暦100 年1月1日~西暦9999年12月31日までの日付と時刻 Boolean ブール型 真 (True) または偽 (False)
Object オブジェクト型 オブジェクト Variant バリアント型 すべてのデータ
• 変数とは、数値や文字列などを一時的に格納する入れ物