読者です 読者をやめる 読者になる 読者になる

アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

ExcelVBA入門 #0:やってみよう!VBAマクロ

練習問題:これが分かる・できる人は以降読まなくても大丈夫

  • Excelを開く
  • ExcelVBEを開く
  • 変数宣言を強制する設定にできる

はじめに

「この単純作業、マクロでなんとかなるんじゃない?」って人も、
「とにかくなにかプログラミングやってみたい」って人も。
やってみませんか、ExcelVBA。

なんといっても、Excelさえあればすぐに始められるのが魅力です。
他にも比較的簡単に始められる言語はありますが、
インタフェースもそれなりに作ろうと思ったら、ExcelVBAが最もお手軽ではないでしょうか。
VBA好きとしての主観が多分に含まれています

基本的になんでも作れるのですが、Excelが元になるので、特に

  • 簡単なデータベース
  • 様々な計算が必要なもの
  • CSVファイルの処理

などに向いています。
わたしは新卒から3年間、銀行の中の人が使う帳票を作ってごはんたべてました。
趣味では家計簿を作ってみたり、
Excelのマス目を利用したドット絵ツールを作ってみたりしてます。

まあ、せっかくなのでまずは何か作ってみましょう。さあさあ。

尚、ここではOffice2013を基準に書いていきます。
他バージョンと違う箇所があるかもしれませんが、
そのときはコメント欄かGoogle先生に聞いてください。

Excelを開く

Excelを開いてください。
持ってない場合は入手・インストールしてください。

Excelの設定変更

開発用の設定などを使用するには、まず
 ファイル>オプション>リボンのユーザー設定
で「開発」にチェックを入れて、メニューに「開発」タブを表示させる必要があります。

開発タブが表示されたら、
 開発>マクロのセキュリティ
でセキュリティ設定画面を開き、「マクロの設定」タブで
「警告を表示してすべてのマクロを無効にする」に設定してください。
この設定を行わないと、自分で作ったマクロであっても動かすことができません。

この設定にしている場合、
マクロを含むExcelファイルを開いたときにこのような表示になるので、
「コンテンツの有効化」を押すことでマクロが使用できるようになります。
f:id:honey8823:20150810135457p:plain

参考:Excel 2013・2010でマクロを有効にする - インストラクターのネタ帳
http://www.relief.jp/itnote/archives/excel-2010-enable-macros.php

VBEを開く

Visual Basic Edtor(以下、VBE)とは、その名の通り、エディタです。
Excelだけでなく、各Officeアプリに付属しています。
主にこれにコードを書いていくことになります。

 開発>Visual Basic
をクリックするとVBEを開くことができます。
(ショートカットキー派の人は、Alt+F11)

Excelとは別ウインドウで、VBEを開くことができましたか?

VBEの設定変更

VBEのメニューバーから
 ツール>オプション
で、オプション画面が表示されます。

まずは、編集タブで
「変数の宣言を強制する」にチェックを入れておいてください。
ちょっとしたおまじないなのですが、その効果の話はまた次回。

他にもいろいろな項目がありますが、
のちのちエディタが使いづらいなーと感じたらいじってみるとよいと思います。

ツールバーを出しておく

メニューの
 表示>ツール バー
から、「デバッグ」「ユーザー フォーム」「標準」「編集」のツールバーを出すことができます。
とりあえず全部出して、使わないものを後から消しても構いませんし、
今は気にせず、あとから欲しいものを追加しても構いません。

おしまい

これだけでプログラミングができる状態になりました!
さて、次の記事ではさっそく何か作ってみましょう。

おまけ:ある程度プログラミングわかる人向け補足

VBAとは「Visual Basic for Applications」の略です。
(尚、マクロは「VBAなどで作った機能」という感じで飲み込めばOKです)
要するにOffice向けVBという感じなので、
VBの経験がある場合は文法などで困ることは少ないと思います。
わたしはVBA始めた当時、VB経験はありませんでしたが
BASICの経験はあったので、やはり比較的飲み込みやすかったです。

次回予告

ExcelVBA入門 #1:Hello VBA World! - アナログCPU:5108843109
いよいよプログラミング、とりあえずなにか作ってみましょう。