今回はエクセルを使って、プログラミングをご紹介たいと思います。
エクセルではVBAというプログラム言語を簡単に使うことができますので、手順通り操作して頂くだけで、簡単なプログラムが作れてしまいますよ。
マクロとVBAの違いについてもお話していますので、ぜひチェックしてみて下さいね。
Table of Contents
ExcelのVBAとマクロってなに?2つの違いを解説
エクセルではVBAやマクロを使うことができますが、そもそもVBAとマクロってなに?違いはあるの?といった疑問があると思います。
モヤモヤしたまま進んでもスッキリしませんので、VBAとマクロについてお話しますね。
- マクロはエクセルで操作できることを「記録」しておき、好きなタイミングで「記録した操作」を呼び出す機能です。
- VBAはマクロの処理の内容が書かれたプログラムの言語です。
マクロはエクセル以外にも、ワードやパワーポイントでも使うことができますよ。
VBAについてもう少し詳しく知る
VBAは「Microsoft Visual Basic for Applications」の頭文字を取って付けられたもので、マイクロソフト社の開発したプログラミング言語になります。
エクセル以外にもワードやパワーポイントでVBAを使うことができますが、エクセルの機能を使ったVBAをワードで動かそうとしても動きません。基本的にはVBAは主にエクセルで使うことが多いですね。
例えばエクセルでVBAを使いたいのであれば、ある程度エクセルを使いこなすことができないと効果的な使い方はできないでしょう。
プログラミングを覚えてみたいけど準備がよく分からない方には、エクセルを使ったVBAはおススメです。
簡単なプログラムを組みながら結果をエクセル上に表示してみましょう。動きを見ながら少しずつプログラミングすることができるため、とても分かりやすいですよ。
他にプログラミングを試す方法は?
プログラムの開発環境で有名なものに「Eclipse」「Visual Studio」など、探すとたくさんあります。
これらを利用するためには開発環境を作る必要がありますので、環境作りが面倒だったり分かりにくかったりするため、初心者は断念しがちです。
VBAはエクセルさえあればプログラミングができますので、プログラムの概念の勉強を手軽に行うことができます。
VBAを使うためにはVBE(Visual Basic Editor)を呼び出すための「開発タブ」が必要になりますので、準備は「開発タブ」をエクセルのリボンに追加するだけとなります。
ExcelでVBAを使えば楽ができる?その代わり覚えるまでが大変
VBAを使うことで面倒な作業時間を短縮することはできます。
ですが、プログラミング言語なので使いこなすには、覚えることがたくさんあります。
楽をするためには、苦労して学習する必要があるわけです。
プログラミングを覚える方法は?
プログラムを覚えるうえで失敗してしまう学習方法は、テキストを購入して全部覚えてからプログラミングに挑戦することです。
「なぜダメなの?」って思いますよね。
プログラミングを早く上達したいのであれば「必要な処理だけ調べて、組んでみる」を繰り返すことです。
テキストに載ってることはあなたが作ろうとしているプログラム以外のことばかりで、そんなものを全部覚えても時間がかかるだけですよね。
最初に覚えたことも使わなければ忘れてしまいます。
プログラムは
を繰り返して覚えていきましょう。
ExcelでVBAを使うための準備は?開発タブを表示すること
ExcelでVBAを使うためには「開発タブ」を必要としますが、最初は表示されていないため設定します。
リボン上のどこでも良いので右クリックするとメニューが表示されますので、「リボンのユーザー設定」をクリックします。
Excelのオプション画面が表示されるので、「リボンのユーザー設定」の「開発」にチェックを入れて、OKをクリックします。
メニューに「開発」が表示されましたので、準備完了です。
「開発タブ」が表示されないようであれば、こちらの記事で別の方法を紹介していますので参考にして下さい。
ExcelとVBAを使ったプログラム作成
ExcelでVBAを使うためにはVBE(Visual Basic Editor)を使いますので、呼び出し方法から簡単なVBAの使い方をご紹介します。
VBEは開発タブの「Visual Basic」をクリックします。
「Microsoft Visual Basic for Applications」が起動します。起動時はプログラムがないため空っぽの状態です。
VBAのプログラムを記述するために、標準モジュールを追加しましょう。
標準モジュールはプログラムを書くためのファイルで、変数の指定や関数の定義をするために使います。VBAを使って関数や変数を記述していくことになります。
標準モジュールを追加する方法は「プロジェクト」内を右クリックすると、メニューが表示されるので「挿入」→「標準モジュール」をクリックします。
標準モジュールが追加されると、空の画面が表示されます。
文字が入力できますので、そこにVBAのプログラムを記述していきましょう。
プログラムの環境ができた!早速プログラミングを開始
早速プログラミングを開始したいと思いますが、プログラム言語はコンピューターが理解できるように決められた言葉で書く必要があります。
ルールを守って書かないと、動いてもえらえずにエラーを返すだけなので注意しましょう。
まずは「sub sample_print」と入力して、Enterキーを押してください。
「()」と「End Sub」は自動で入力されます。
「Sub」は関数の意味をあらわすもので、「sample_print」は関数の名前になります。
「Sub」の他に「Function」もありますが、VBAの関数についてこちらの記事でまとめていますので、参考にしてみて下さいね。
「Sub」から「End」の間にプログラミングしたいと思いますが、今回はエクセル上に文字を表示させます。
エクセルの「A1」に「こんにちは」を表示させるためには
と入力してください。
VBAのプログラムを実行するには?
プログラムが完成したらエクセルに戻って「開発タブ」を開いてから、「マクロ」をクリックしましょう。
マクロの画面が表示されるので、作成した「sample_print」を選択して実行します。
「sample_print」が実行されて「A1」に「こんにちは」が表示されます。
VBAを使うことで、文字の表示や計算処理、条件判断、繰り返し処理などのプログラミングが可能です。
初心者の方が全部を覚えようとすると大変ですので、使いたい機能から覚えていくと良いでしょう。
VBAやマクロのあるエクセルを保存するときの注意点として、拡張子を「xlsx」から「xlsm」に変更して保存してください。
VBAで必ず発生するバグとは?
プログラムを組むうえでバグに付きまとわれ続けますが、バグってご存知でしょうか?
バグはプログラムを実行した結果、思った通りの動きをしないことを言います。
VBAのバグは意外と恐ろしいことを引き起こすこともあります。
例えば
- 繰り返し(ループ)処理から抜け出せず、永遠とプログラムが実行され続けてしまう。
- ファイルを編集する処理では、大事なファイルを削除してしまう。
- VBAの記述のあるエクセルの大事なデータを書き換えてしまう。VBAでセルを変更すると「元に戻す(CTRL+Z)」で戻れない。
プログラムの処理が増えることで、バグの含まれる可能性も増えてきます。
プログラムは長ければ良いというものではなく、シンプルで分かりやすく組むことに気を付けることが、バグの可能性を減らすコツになりますよ。
ExcelでVBAを使う方法のまとめ
エクセルではVBAが利用することができ、簡単にプログラミングに触れることができます。
そのため、無料でプログラムを始めてみたい方にはおススメです。
今回ご紹介したプログラミングは、文字を表示するだけの簡単なものですが、他のプログラム言語と同様に、複雑な処理を組むことも可能です。
始めのうちはマクロとVBAを組み合わせて使うことがおススメで、「マクロの記録」である程度決まった処理を記録しておき、必要に応じてVBAの処理を修正していくと上達は早いですよ。