エクセルマクロマスターへの道!【基本をしっかり!初心者向け勉強方法~作成方法・使い方】

エクセルマクロのデータファイル移動先を、VBEのコードで変更してみよう!

エクセルマクロについて、次のような疑問があったときについて、考えてみましょう。

エクセルのマクロで、ファイル間でデータを移動させるようにしたいけど、違うパソコンやドライブでもデータを移動できるようにしたい!
同じパソコン、同じドライブのパスでできるマクロは完成済み。

このときは、マクロのコードの記述内容を変更して、データが移動できるようにします。

まずは、エクセルの「メニュー」から、「ツール」をクリックし、「マクロ」から「Visual Basic Editor」を選んでください。
ALT+F11キーでもOKです。

ここでこのVBE画面を見てみましょう。
「プロジェクト」というところに、タイトルウィンドウという、エクスプローラのような図がありますね。
ここの、「標準モジュール」を開き、「Module1」という名前がついているところをダブルクリックすると、このマクロの内容であるコードが書かれた、Module1のウィンドウが開きます。

この中に、ファイル移動先のパスが書かれているので、移動先パスを変更しましょう。
これで、違うパソコンや、違うドライブでもデータを移動することができるようになりますね。

このマクロを使って、しばしばファイル間でデータ移動するのなら、マクロそのものを使いやすいように変更したほうがいいですが…
しょっちゅう使うわけでもないなら、このパス変更だけでも利用できるでしょう。

VBEや、マクロにもいろいろできることがあるので、勉強する余地もたくさんあります!
マクロ自体を書きかえたり、さらに高度なことをやりたいなら、VBEの使い方について学ぶ必要がありますね。

マクロって何??エクセルの作業をプログラムしよう!

よく「エクセルのマクロ」って聞きますが、そもそもエクセルマクロって何なのでしょうか?

これは、つまりエクセルで使用する「プログラム」のこと。
うまく使えば、いろんなことができて便利なんですよ。

といっても、エクセルマクロに限らず、パソコンに慣れていない人にとってはとくに、「プログラム」っていうととっつきにくいというか…難しいものってイメージになりますよね。

もちろん複雑な処理をマクロでしようと思えば、作業はちょっと大変になりますし、VBAなどを使用して、自分でどんどんプログラムを組むということもできます。
でも、とりあえずは、実行した作業をマクロに記録させていく方法なら手軽だと思います。

例えば、文字のサイズや色を変更するなどの設定がたくさんあると、作業が多くてたいへんです。
これを、自動的記録機能で記憶してもらい、その記録にマクロ名をつけて保存しておくと、そのマクロを実行すれば同じ処理を自動的にすませることができます。

それでは、とっても簡単にできる、ちょっとしたマクロから挑戦してみましょう!

まずは、エクセルのファイルを開いてください。
「ツール」から「マクロ」を選び、「新しいマクロの記録」をクリックします。
そこに「記録開始」の「●」ボタンがあるのでクリックして、どこか適当なセルに「あいうえお」と文字を入力します。
入力したら、「終了」の「■」ボタンを押したら、マクロの完成です!

では、さきほどの文字をいったん削除してください。
「ツール」から「マクロ」を選択、そこから「マクロ」を選び、さっき記録開始したときにつけたマクロ名を選択してみましょう。
これでマクロが実行され、さきほどのセルに「あいうえお」の文字が、自動的に入力されましたね。

これなら、案外簡単なものなのではないでしょうか?

いらなくなったエクセルのマクロを削除する方法

エクセルで、自動処理やコード記述でいろんなマクロを作って使用することがありますね。
作業しているうちに、作ったマクロがいっぱいたまってしまって、どれが何だかわかりにくくなってしまうことも…

保存したけど、いらなくなったマクロは削除したりして、わかりやすく整理していくことで、エクセルのマクロを使っていくときにすっきり作業できるようになります。

では、マクロの削除のしかたですが、「ツール」から「マクロ」→「マクロ」を選択し、表示されたなかから、必要のないマクロ名を選び、「削除」ボタンで削除するとします。
すると、「表示されていないブックのマクロは編集できません。[ウインドウ再表示]コマンドを選択して、ウインドウを表示してください」というメッセージが表示されて削除できない!なんてことが起きることがありますよね。

これでは、いらないマクロをなかなか削除できなくてこの作業だけで手間取ってしまいそう…

そこで、マクロのモジュール画面から、削除していきましょう。
まず、メニューから、「ツール」→「マクロ」→「Visual Basic Editor」を選択するか、「ALt」+「F11」キーを押して、モジュール画面を開きます。
画面左側に、エクスプローラに似た図がありますね。ここから「標準モジュール」を選び「+」をクリックして展開してください。
この中の「Module1」を選んで右クリックすると「Module1の解放」というのがあるのでクリックすると、このマクロが削除されます。
これ以外にも消したいマクロがあれば、同じように右クリックから削除していきましょう。

「マクロの記録」で、自動記録して作成したマクロは、ほとんどこの方法で削除できますので、マクロが多くなりすぎてきたら必要ないものを整理していきましょう。

エクセルのマクロの勉強法!自分でできるVBA入門について

仕事や個人的な目的でエクセルを使うことも、たくさんありますよね。
そんなときに、マクロを使いこなせたら便利だろうなぁ、と思ったことがある人も少なくないのでは?

もし、マクロにくわしい人がまわりにいれば、いろいろ質問したり教えてもらえるのですが、自宅でエクセルを使っているだけの人にとっては、どうやってマクロの勉強をしたらいいものか悩んでしまいます。
パソコンの教室などに通うのもお金がかかるし…独学で勉強して、使いこなせるレベルまでやるのはけっこう骨が折れそう。

じゃあどんなふうに勉強するとよいでしょうか?
おすすめなのは、まずある程度Basicというプログラム言語の基礎的なことをおぼえることです。
VBA(Visual Basic for Application)は、Basicをもとにエクセル用につくられているので、Basicの知識をもとにVBAの勉強をして、エクセルでシートやセルを扱う方法を学ぶとよいでしょう。

インターネットでも、入門サイトや質問サイトがいろいろあるので、いちど「エクセル VBA 入門」などで検索してみてはどうでしょうか。

また、エクセルのメニューから「ツール」を選び、「マクロ」→「Visual Basic Editor」を開いて「ヘルプ」を見ると、いろいろな項目があるので、これを見ながらちょっとずつおぼえるのもいいですね。

自分でマクロを勉強していくのはけっこうたいへんですが、何をやりたいかとか、どんなマクロを作成したいかがはっきりしているなら、それを目標にがんばってみれば、できたときの達成感は素晴らしいですよね。
エクセルマクロのマスターを目指して、こつこつがんばりましょう!

VBAコードを修正してエクセルマクロの内容を変えてみよう!

エクセルファイル上で、あるボタンをクリックしたときにメッセージが表示される、といった、かんたんなマクロを作った場合を例にあげて、エクセルのマクロを修正する方法をお話していきますね。

このマクロのプロシージャ名を「cmd実行_Click」として、表示されるメッセージは「マクロ完成!!」だとします。

このとき、「cmd実行_Click」の内容を変更することで、マクロの中身をいろいろなものに変えていくことができるんです。
例えば、設定されている表示メッセージ「マクロ完成!!」を、「マクロの修正完了!!」というものにするやり方を説明してみます。

まずは、エクセルの画面から、メニューをクリックし、「ツール」→「マクロ」→「Visual Basic Editor」を選び、VBEの画面を表示させます。
ここで、メッセージボックスの表示内容を変更してみましょう。

Private Sub cmd実行_Click()
      msgbox ”マクロ完成!!”
End Sub

これを、次のように書きかえます。

Private Sub cmd実行_Click()
      msgbox ”マクロの修正完了!!”
End Sub

コードが書き換えられたら、デザインモードを終了し、もとのエクセル画面に戻ってください。
そして、ワークシート上の、マクロを実行するコマンドボタンをクリックするか、直接マクロ名を指定して実行してみましょう。

「マクロの修正完了!!」というメッセージが表示されたら、マクロの修正がきちんとできています。

このマクロが設定されているエクセルファイルを、マクロ作成のテスト用ファイルに使うこともできるので、テスト用.xls、などの名前をつけて保存しておくと、マクロ作成の練習によいですね。

Excelマクロウイルスの危険と対策

エクセルで、作業効率をアップさせるのに便利なマクロですが、これでウイルスを作ることもできるのがこわいものです。
Excelマクロウイルスに感染すると、エクセルのモジュール(プログラムフォルダ)内の、「XLStart」というフォルダに、ウイルスを設定したワークシートが作成されます。

では、ウイルスに感染してしまうことを予防するために、最初に「XLStart」フォルダの中のワークシートが、ウイルスではないということを確認しておきましょう。
この「XLStart」フォルダ内のワークシートは、エクセルを起動した時に自動的に開くようになっているので、エクセルを起動するだけで感染してしまう可能性があるのです。

では、ウイルスファイルの探し方ですが、ウイルスのワークシート名は、ウイルスの種類によって異なってきます。
たとえば、Larouxウイルスでは、「Personal.xls」や、「pldt.xls」というファイル名になり、Ninjaウイルスなら、「Ninja.xls」などといったファイル名になっています。

エクセルを開く前に、エクスプローラなどでこのフォルダ内を確認して、このようなウイルスがあるかどうかを調べ、削除しておくことでウイルスに感染するのを防ぐ必要があります。

また、マクロを設定していて、ウイルスファイルがみつかったら、次のようにしてウイルスマクロを削除しましょう。
まず、メニューから「ツール」を選択し、「マクロ」を開きます。
ダイアログボックスの「auto_open」と「check_files」にあるマクロを、「削除」コマンドで削除していきます。
ここでシートを非表示にする設定になっていたら、削除ができませんので、メニューの「ウィンドウ」から「ウィンドウ再表示」を選び、表示設定にして削除していきましょう。

マクロの記録機能を使って簡単にエクセルマクロをはじめてみよう

エクセルマクロ、って聞いたことはあったり、使ってみたくても、プログラムって難しそうだし…見てもよくわからないから無理!なんて思っていませんか?
でも、実はマクロはそんなに難しくなく、簡単に作ってみることができるんです。
たとえば、次のような方法を試してみてください。マクロの改造も、すぐにできると思います!

①マクロの記述をする「モジュール画面」を開いておく(ここに処理のプログラムが記録される)
②エクセルの「マクロ記録機能」を使って、ある操作を記録し、「マクロの終了」で記録終了する。
    例:会社の成績表から個人の成績表とグラフを作成する
③モジュール画面を開き、機能を確認したりメンテナンスしやすいよう、マクロを分割する。
④ひとつひとつのマクロについて、使いやすいようなメンテナンスをする。
    会社の人数が10人のとき→「for ~next」などを記述して10人分をいっぺんに処理するようセル範囲を指定する、固定の数値を変数にしてみる、など。
⑤それぞれのマクロを実際に実行して動作を確認する。

マクロの作成基準の例を、簡単に説明してみましたが、どうですか?
もちろん、「マクロ記録機能」で記録するだけでもマクロはできますし、これにいろいろと付け加えたり変更したりして、使い勝手の良いようにオリジナルのマクロへと改造してもいいですね。

慣れてくると、使用する目的によって非常に幅広い使い道ができてきますので、少しずつ勉強しながら実際にマクロを作ってみたりして、いろんな機能を覚えていきましょう!

マクロを使いこなせるようになれば、エクセルでの作業もぐんと効率アップしてエクセルマスターを目指せますよ。

エクセルのデータにマクロでふりがなをふる手順

データベースとしてエクセルを使用することもありますが、このとき「ふりがな」はなかなか大切ですよね。
データをうまく扱っていくのにも便利なふりがなですが、エクセルの機能には「フリガナをふる」や「PHONETI関数でフリガナを取得する」などさまざまなものがあるので、必要に応じて使い分けたいもの。

日本語入力と感じの関連の問題で、これらのふりがな機能にも不完全な部分もありますけどね。

また、エクセル上で入力された読みがなだけを、「ふりがな」として認識することも弱点のひとつ。
つまり、ふりがなの情報が入っていない場合、画面にはふりがなを表示することができないのです。

ツールから、ふりがなをふるとき、CSVファイルをエクセルにインポートして使うとすると、読みがなの情報は保持されていない状態です。
すると、メニューから「書式」→「ふりがな」を選び、表示、非表示を選択しても、ふりがな情報がないため、表示されないのです。

こんなときは、マクロを使って「PHONETIC関数」でふりがなをふるとよいでしょう。

PHONETIC関数を使いふりがなをふる、というマクロのコード記述は、次のようになります。

Sub Phonetic-Furigana()
Selection.SetPhonetic
Selection.Phonetics.Visible = True
End Sub

これを、VBEで記述し、マクロを作成します。
こうして作ったマクロを、ふりがなをふるセル上で実行ボタンを押したりして実行すると、ふりがなを表示することができるはずです。
いちど試してみてくださいね!

作成したマクロの保存先を変更して自作マクロをアドインする方法

マクロを記録したあと、次にエクセルを起動したときにマクロ保存の影響が出てしまうことがあります。

例えば、「Visual Basic」ツールバーから「マクロの記録」でマクロを記録するときに、ダイアログボックスで、マクロの保存先を「個人用マクロブック」と選択します。
すると、このマクロは「Windows\Application Data\Microsoft\Excel\Xlstart」フォルダに「Parsonal.xls」という名前で保存されます。

それでは、ここで保存先を「作業中のブック」に変えてみましょう。

同じように、マクロを記録して「作業中のブック」に保存したら、「ツール」から「ユーザ設定」をクリックします。
表示されたダイアログボックスの「コントロール」タブを選択したら、左側の「分類」から、マクロを選択してください。
右側に、スマイルマークが表示されましたね。このスマイルマークのボタンを、ツールバーにドラッグ&ドロップします。

これで「選択したボタンの編集」ができるようになるので、このボタンに「マクロの登録」をして、さっき記録したマクロを選び、登録します。
そして、記録したこのブックを保存しておきます。

では、エクセルを再起動したら、ツールバーにドラッグ&ドロップした、スマイルマークをクリックしましょう。
これで、さきほど記録しておいたマクロを実行することができます。

どうでしょうか?
一度やってみてくださいね。

エクセルのデータ処理範囲を自動的に選択するマクロのコード例

エクセルに、データを入力して管理する機会も多いですよね。
このデータから、何かの条件で検索したり、いろんな作業をすることがありますが、データの量もどんどん増えていくものです。
そうすると、検索範囲も毎日変わっていくので、検索する対象セルをいちいち直さなければならないのが面倒、って経験ありませんか?

それでは、マクロでこの作業を簡単にするための、範囲選択のコード記述例をご紹介します。
1行1データの形式で入力されている場合です。

①アクティブセル領域を選択する方法
Sub kettei1()
Dim TBL As Range

Worksheets(”Sheet1″).Activate:Range(”A1″).Select
‘セルA1を含めたアクティブセル領域を選択(空白行・列で囲まれたセル範囲)
Set TBL = ActiveCell.CurrentRegion
TBL.Select
End Sub

②表題などをのぞくアクティブセル領域を選択する方法
Sub kettei2()
Dim TBL As Range

Worksheets(”Sheet1″).Activate:Range(”A1″).Select
‘セルA1を含めたアクティブセル領域を選択(空白行・列で囲まれたセル範囲)
Set TBL = ActiveCell.CurrentRegion
Set TBL = TBL.Offset(1,0).Resize(TBL.Rows.Count -1,TBL.Columns.Count)
‘1行下から、全体より1行少ない部分を設定
TBL.Select
End Sub