エクセルマクロ・VBA初心者の入門講座

Excelのマクロとは何ぞや?

エクセルマクロ,VBA,使い方,ボタン,印刷,削除,適切,サンプル,初心者,入門

マクロというのは、Excel、word、ロータス、一太郎などのソフト毎に専用のマクロがあり、スタートするのみで自動的に流れを処理してくれる機能の事を指している。
以下に解説するのはその中でもExcelのマクロについて使い方などを解説したいと思う。
たとえば、会社の営業成績一覧表というのがあるとして、その中から優秀な営業マンの成績表を作り上げるという例題があるとして、これをエクセルのマクロを組んで作ってみるとしたらどうだろうか。
エクセルのマクロを使った人が非常に効率的と実感する時というのは、一連の作業に繰り返しの作業が数多くあり、一回の作業のみではなく継続的に作業として繰り返されるようなケースの場合、また、一度使ったマクロならボタンを押すのみでシンプルに何度でも作ることができる時だろう。
また、会議などで発表する時にエクセルのマクロを用いて作ったグラフなどがどんどん作成されていくところなどは見栄えも結構すばらしいし、見ている人達に強烈なインパクトを与えるものだと思う。
雛形のように、小規模のエクセルのマクロを作っておくのも、後々のマクロの使い勝手の良さに繋がってくると思う。
小規模に分割されたエクセルのマクロなどを随時組み合わせることで、いろんな作業において応用して用いることが可能になり、用途の幅が拡大してくるからだ。


スポンサードリンク

初心者でもエクセルでマクロは組めるか?

エクセルマクロ,VBA,使い方,ボタン,印刷,削除,適切,サンプル,初心者,入門

エクセルのマクロについてだが、エクセルを基本的に触ることができるレベルの初心者の人がエクセルのマクロを使おうとしたケースの場合に、最初に「マクロって何?」って思ってしまうことだろう。
初心者なのにプログラムが組めるのか、なんて不安は尽きないと思う。
こういった人のために参照してほしいエクセルの初心者向けのホームページなどが有るので紹介したいと思うので参照してみてほしい。

 

【初心者向けお勧めエクセルホームページ】
・http://allabout.co.jp/computer/msexcel/closeup/CU20070505A/
・http://www.happy500z.com/
・http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_010.html
・http://www.sigoto.co.jp/excel/
・http://www.sanynet.ne.jp/~awa/excelvba/kouza.html

 

まずはエクセルとは何かを覚えることを優先すべきだ。
エクセルの標準機能でシンプルにできる処理とマクロを組んだ方がシンプルにできる処理との区別を付けよう。
つまり、エクセルをきちんと勉強してからマクロや関数なりに取り組んだ方がエクセルとエクセルマクロのマスターへの近道となると思う。


エクセルマクロの基本的な使い方について

エクセルをただの表計算のみに活用している方はもったいない話だ。
マクロを用いると使い勝手がものすごく広がる。ここではマクロの使い方を適切なサンプルで紹介しようと思う。

 

1.準備
・「Visual Basic」を追加する。
ツールバー上のどこでも良いので右クリックをする。
ショートカットメニューが開くるので「Visual Basic」を選定する。

 

2.マクロの作成
・ファイルを開くマクロの作成
「●」が描かれている「マクロの記録」ボタンをクリックする。
ダイアログボックスが開かれるので「マクロ名」に「ファイルを開く用」というマクロ名を入力する。
「解説」にどんなマクロを作り上げるのか解説を記入する。
「OK」ボタンを押す。
「記録の終了」ボタンが表示される。

 

3.マクロの自動記録
・ファイルを開く作業の内容をマクロに自動記録する。
・適当なファイルを開く。
・「記録終了」ボタンを押下する。
(「ツール」→「マクロ(の記録)」→「記録終了」でも同じ処理だ。)
※ここで「記録終了」をしないと、それ以降の作業全てマクロに記録されてしまうので注意してほしい。

 

4.マクロの実行
・さっきマクロを記録するために開いたファイルを閉じる。
・マクロの実行ボタンを押下する。
(「ツール」→「マクロ」→「マクロ」でも同じ処理だ。)
・マクロ名「ファイルを開く用」を選定したら、「実行」ボタンを押下する。
・マクロが実行されてファイルが開かれることを確認すべし。

エクセルのVBA関数とワークシート上の関数の違いについて

Excelを使い始めた人が関数やマクロなどを活用しようとしたときに実感する疑問として「VBAとワークシート上の関数は何故違うんだろう?」と思う人が数多いようだ。

 

結果的にはワークシートの関数とVBAの関数は全くの別物と思って構わない。
以下にVBAとワークシートの関数の異なりを適切なサンプルでやや紹介する。

 

○同じ意味の関数で、スペルが違う関数
【現在の日付取得】
VBA関数 :「Date」
ワークシート関数:「Today」

 

【日付の間隔を取得】
VBA関数 :「Datediff」
ワークシート関数:「DATEDIF」

 

○スペルが同じで、違う動作をする関数
【Round】
VBA関数 :丸め処理
ワークシート関数:四捨五入

 

など他にも色々有る。

 

同じ動作をする関数というのはたまたま同じように名前・名称がつけられただけに過ぎない。
同じ名称で同じ動作という関数はめったにないと思った方が良い。

 

Excel5.0からマクロでVBAを記述するように成ったが、それより前のバージョンではマクロにワークシート関数に書いているように記述していた。
VBAというのはVB(Microsoft Visual Basic)というプログラム言語を元にして作成された言語と為っている。

 

Officeでは、WordやAccessにもマクロがあり、各々(おのおの)WordBasic、AccessBasicというように全く機能がバラバラのものが採用されていた。
それを統一しようとして作られた言語がVBA(Visual Basic for Applications)と言う事なのだ。

 

というプロセスがあることから、Excel独自の関数とoffice全体のVBA関数とは違うと言う事が分かる。

エクセルマクロの使い方(Trim編)について

エクセルでデータをソートして使おうと思ったのだが、文字列の先頭や至るところに空白が入っていて正しくソート不可能だった。
正しくソートするためにTrimを使おうかと思ったのだが、使い方が良くわからなくてどうしたらいいか分からなくなってしまった。
というような疑問をお持ちの人とかいると思う。
ここでエクセルのマクロを用いて空白セルを削除するプログラムを作ってみたいと思う。
用いる命令は「Trim」関数だ。Trimは文字列中にある空白を除去した文字列を返してくれる関数だ。適切なサンプルをどうぞ。

 

Sub 空白除去プログラム()
Dim abc As Range 'セルを定義

 

For Each abc In Selection
abc = Trim(abc) '左右の空白を削除して、「abc」を置き換える
Next

 

End Sub

 

。こんなにシンプルにTrimのプログラムができてしまった。これを用いて空白除去してみてほしい。
ちなみに、Trim関数には以下の種類が有るので、用途に応じて応用してほしい。

 

・Trim(abc) → 文字列の左右にある空白を削除する。
・RTrim(abc) → 文字列の右側にある空白を削除する。
・LTrim(abc) → 文字列の左側にある空白を削除する。
・Application.Trim(abc)→文字列の左右、または途中にある空白を削除する。

 

以上、Trimに関連して理解して頂けただろうか?
色々用いてみてほしい。

エクセルでのマクロの作り方&組み方について

エクセルをあまり使った事がない初心者の人でも、慣れれば誰でもマクロは活用できるようになる。
まず手始めにシンプルなマクロの適切なサンプルを紹介するので一緒に作ってみると良い。

 

【例題】
ワークシート上にあるコマンドボタンを押し、「マクロ完成!!」というメッセージを出力させよう。

 

上記の例題はメッセージを出すのみという非常にシンプルなマクロだが、最も役に立つマクロだ。
このメッセージ部分を変えるのみでいろんな事に活用できるようになる。

 

【作成方法】
1.ワークシート上にコマンドボタンを作り上げる
・コマンドボタンを置きたいエクセルファイルを開く。
・メニュー→「表示」→「ツールバー」→「コントロールツールボックス」→「コマンドボタン」を選定する。
・コマンドボタンを配置したい位置に配置する。(このときコマンドボタン上には「CommandButton1」と表示されているはずだ。

 

2.コマンドボタンのプロパティの変更
・コマンドボタンの表示名を「実行」に変えてみると良い。
「プロパティ」→「Caption」の所を「実行」に変更する。(これでボタンの目にした目は「実行」に変わる。)
・実行するマクロを指定する。
「プロパティ」→「オブジェクト名」のところを「cmd実行」に変更する。

 

3.プログラム(マクロ)を記入してみると良い。
・ワークシート上の「実行」ボタンをダブルクリックすると、Visual Basic Editor(VBE)が起動する。
このときEditor上にはSheet1(Sheet1)に「cmd実行_Click」という名前・名称で空のプロシージャが作成されている。
・Option Explicit
Private Sub cmd実行_Click()
msgbox "マクロ完成!!"
End Sub
・ツールボックス→「デザインモードの終了」でプログラム作成終了だ。

 

4.マクロの実行
・「ファイル」→「終了してマイクロソフトエクセルに戻る」でワークシートの画面に戻る。
・画面上の「実行」ボタンをクリックしてみてほしい。ここで「マクロ完成!!」というメッセージボックスが出たら成功だ。

エクセルマクロのコマンドボタンの使い方

「コマンドボタン」に登録されているマクロなどを確認可能になれば、修正や応用など色々幅が拡大すると思うので勉強してみると良い。

 

「コマンドボタン」に登録されているエクセルのマクロを確認するためには、通常では確認できないように為っている。
確認する方法だが以下のようになる。

 

1.エクセルを「デザインモード」に切り替える。
・「表示」メニュー→「ツールバー」→「コントロールツールボックス」で、ツールバーを表示させる。
・ツールバーにある「デザインモード」ボタンをクリックしてデザインモードに切り替える。
2.マクロが登録されている「コマンドボタン」をクリックする。
3.「コントロールツールボックス」ツールバーの「コードの表示」をクリックし、VBE(Visual Basic Editor)を起動させる。
※この時点で「コマンドボタン」に関連したコードが表示されるようになる。

 

コードそのものは「Private Sub」~「End Sub」までの間で記述されている。
マクロの名前・名称は、「コマンドボタン」につけられている名前・名称(たとえばbutton1とする)+「_(アンダーバー)」+「Click」という命名に為っている。
これは「コマンドボタンがクリックされた時」の処理だということを示している。

 

たとえば、この間に記述されている命令を修正すると、コマンドボタンがクリックされた時の処理が変わるし、マクロの名前・名称を別の処理のマクロ名に変えると全然違う処理が実行される。

 

実行する時にはVBEを終了させて「デザインモードの終了」をして、エクセルを通常のモードに切り替えてからコマンドボタンを押下して実行するようにするのだ。

エクセルマクロの削除方法について

エクセルでマクロを活用していて(自分で作成したのでも、自動記録をしたものでもいいのだが)いっぱい作りすぎてよく分からなくなってしまってはいないだろうか?
溢れかえったマクロを整理していくのも、よりよいエクセルのマクロを使いこなす上で肝心な事だ。
削除をするのにたとえば「ツール」→「マクロ」→「マクロ」を選定したときに表示されるウィンドウ上で、必須では無いマクロを選んで「削除」ボタンを押したケースの場合に「表示されていないブックのマクロは編集できません。[ウィンドウ再表示]コマンドを選択して、ウィンドウを表示してください。」というようなメッセージが表示されて削除できなかったりして一筋縄では行かないなんて思ってはいないだろうか?
エクセルマクロの削除方法だが、エクセルのシートを開いている具合で、メニュー「ツール」→「マクロ」→「Visual Vasic Editor」を選定し、モジュール画面を表示させる。
そのモジュール画面の左側にエクスプローラのような画面が開いているので、そこから「標準モジュール」を選定する。
そうすると展開された中に「MODULE1」というのが有るので「MODULE1の開放」を右クリックから選定してほしい。
マクロの記録という自動記録処理を使ったマクロなら大抵はこれで削除できるはずだ。

削除したのにエクセルのマクロが表示されてしまう理由について

エクセルにあるマクロを、「新しいマクロの記録」で作業を実践した後、マクロを削除した。
だが、次にファイルを開いたときに「開こうとしたファイルにはマクロが設定されている」というメッセージが表示されてしまう。
マクロを削除したはずなのに・・・まったくおかしい話だなぁ。。。

 

これを表示させないためには、以下のようにしてみてほしい。

 

1.ファイルを開く。
2.「ツール」→「マクロ」→「Visual Basic Editor」と選定し、VBAエディタを開くる。(このとき、「ALT」+「F11」でもおなじ様にVBAエディターが開く。
3.ここで画面左側にある「標準モジュール」をクリックする。そうするとマクロ名「Modulu1」が表示される。この標準モジュールがマクロの本体なので、これを削除しないと初めに表示されるメッセージのダイアログは消せないのだ。
4.マクロ名を右クリックし、「Module1の解放」を実行する。標準モジュールの左側に「+」というのがあるので、それをクリックする事で表運モジュールが展開されるので、そこで右クリックをしてほしい。
5.このとき、「エクスポートしますか?」とメッセージが表示される。ここでは保存をするための必須事項はないので、「いいえ」を選定する。

 

これで次回から余計なメッセージは表示されないはずだ。

エクセルのマクロとは

エクセルマクロとVBAの使い方や、エクセルマクロの適切な作成フォーム、マクロボタンの作り方、印刷や削除方法、更に、検索の使い方、VBAの表示の仕方などをこれから学びたい人にとって、エクセルマクロの適切なサンプルがあると優秀で便利だ。
当サイトは、そんなエクセルマクロ初心者向けの入門講座ホームページだ。
更に、エクセルマクロには、IF関数を上手に活かす使い方やfaq、カッターと言われる機能まで備わっていることをご存知だろうか?

エクセルマクロ・VBA初心者の入門講座関連エントリー

エクセル関数の使い方@逆引き辞典
エクセル関数で知っておくと優秀で便利なのが、ifやvlookup関数。これ以外にも優秀で便利で大人気のエクセル関数はというと、日付、年齢、順位、抽出を実践するものが一覧表示されているのを見かける。当ホームページは、エクセル関数の上手な使い方の逆引き辞典だ。
パソコン資格の勉強方法とDTP
パソコン資格の勉強方法や役立つ参照事項書について紹介する。パソコン資格を取るための方法としては、パソコンスクールに通学、あるいは通信講座を活用または利用した方が良い。また、パソコン資格の中でも大人気の高いDTP関連資格のディレクションDTPやDTP検定、DTPエキスパートやプロフェッショナルDTPについても紹介。