VBAを学ぶ方のための講座です。ゼロからでも、超わかりやすい解説で簡単にVBAを使いこなせるようになります。VBAベーシック」等の資格取得も目指せます。VBA入門講座【1】では開発環境の準備の仕方とVBAの初歩を解説します。VBAとは結論から言えば、VBAを使うことで、面倒なルーチンワークを自動化することができます。2時間、3時間かかっていた作業を1分でできるようになります。エクセルのマクロはそうした業務自動化を簡単に実現できるプログラミング言語です。Excelにはたくさんの関数が既に用意されていますが、VBAを使えば、自分だけのオリジナル関数を作ることもできたりします。Applicationです。マクロやVBAを開発するためのツールをVBEと呼びます。Editorの略で、Excelに標準搭載されている高機能なVBAの開発環境です。VBAを書くための環境を整えよう開発タブを表示させることから全てがはじまる!Excelを用いてVBAプログラミングをするためには最初に[開発タブ]を表示させます。ボックス]にチェックを入れます。<参考画像>すると以下のように開発タブが表示されます。Basic]を選択します。すると以下のような画面になります。この画面で[表示]⇒[コード]を選択します。すると以下のような画面が出てきます。赤枠の中がVBAのプログラムを書く部分です。セキュリティの設定をしよう開発タブの表示の次はセキュリティの設定です。セキュリティを正しく設定しないとマクロを実行できないので注意しましょう。セキュリティの設定は下記の手順で行います。1[開発タブ]を選択。2[マクロのセキュリティ]をクリック。3[警告を表示してすべてのマクロを無効にする]を選択。4[OK]ボタンをクリック。以後、Excelを起動するたびに「セキュリティ警告」というダイアログボックスが表示されます。その際[このコンテンツを有効にする(E)]を選択するようにして下さい。誤って[不明なコンテンツから保護する(推奨)(P)]を選択するとマクロを実行することができなくなります。最初のVBAプログラム試しに、VBEを利用して、以下のマクロを書いてみて下さい。VBAと表示させるマクロです。Sub上記のサンプルコードを入力し終えたら[再生ボタン]をクリックします。次にExcelのアイコンの形をしたボタンを押下するとVBEからExcelの通常画面に戻ります。VBA!と表示されます。おめでとうございます!これでVBAプログラミングの第一歩を踏み出しました!それではこのマクロの意味を下記にて詳しく解説していきます。マクロの解説VBAの命令文はSubプロシージャの中に書く厳密にはいろいろ複雑な事情があるのですが、今はこう覚えて下さい。SubのことをSubプロシージャと呼びます。VBAの具体的な命令文はこのSubプロシージャの中に書いていきます。従って、SubプロシージャはVBAの命令文を入れるための箱のようなものです。間はVBAのコードを書くときは「とりあえずSubプロシージャを使う」と思って下さい。プロシージャ名には英語だけではなく日本語も使えます。セルを表すには?さて、Range(“A1”)というのはA1セルを表します。Range(“セルの番地”)と書くことでセルを表すことができます。Range(“C3”)と書くとC3セルを意味します。ドットの意味とは?Range(“A1”).Valueという具合にRange(“A1”)とValue(バリュー)の間に(.ドット)が入っていますよね。この(.)は日本語でいうところの「~の」に相当するものです。Valueは「値」を意味しますから、Range(“A1”).Valueの意味は、A1セルの値を意味します。セルに文字や数値を入力するには「=」を使うそして、「=」という記号は数学のイコールとは似て非なるものです。VBA!”という文字を「代入する」という意味なのです。イメージ図で表すとこんな感じです。なんとなくイメージがわいてきたでしょうか?ちなみにダブルクォーテーション(””)で囲まれた値のことを正式には「文字列」と呼びます。逆に言えば数値は(“”)で囲む必要はありません。B1セルに1000という数値を代入するにはこんな風にマクロを書きます。1000マクロを含むExcelブックの保存方法せっかく開発タブを表示させて、マクロを書く準備が整いましたので、このExcelファイルを保存しておきましょう。マクロを含むExcelファイルは、下記のようにして保存する点に注意して下さいね。見えにくいかもしれませんが、[Excelマクロ有効ブック]を選んで保存します!もちろん強制ではありませんが、次回からのマクロ(VBA)の学習のために、適当なファイル名でデスクトップに保存されることをお勧め致します。オブジェクトとプロパティVBAを理解するにはオブジェクトとプロパティという2つの概念を知っておく必要があります。VBAにおけるオブジェクトとはVBAにおけるオブジェクトは簡単に言えばExcelを構成する各「部品」のことです。Excelを構成する部品にはセル、図形、ワークシートなど様々なものがありますが、それらは全てオブジェクトです。先ほどのサンプルコードに出てきたRange(“A1”)はA1セルを表すオブジェクトだったのです。オブジェクトは必ずプロパティを持っています。プロパティとはなんでしょうか?プロパティとは何か?プロパティとはオブジェクトの属性のことです。Range(“A1”)というコードはA1セルを表すオブジェクトです。A1セルの属性にはどんなものがあるでしょうか。セルにセットされている値、セルの横幅/高さ、セルの背景色などなど様々な属性がありますよね。普段なにげなくセルの背景色を変えたりしているかと思います。実はそうした操作はセルというオブジェクトの背景色プロパティを変更していたのです。VBA!”という値を代入(またはセット)していたのです。Range(“セルの番地”)のことをRangeオブジェクトと呼びます。セルは全てRangeオブジェクト!と覚えましょう。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。