ExcelなどPCのスキルはアウトプットがしやすいです。
Excelで効率化するなら、マクロの記述は必要だと感じ練習しています。自分なりにポイントまとめてみました。
Excelで効率化
インプット<アウトプット。
インプットしたものは、アウトプットしないと自分のものになりません。
その点、PCスキルについては、仕事をしながらでもアウトプットができるため、サラリーマンの立場であったとしてもスキルアップはしやすいと言えるでしょう。
現に、パワポについては、1日だけ研修に行って、あとは仕事を通じて資料を作り、スキルを磨きました。
特にExcel。日々、積極的に使っているツールです。
そんな中、取り組んでいるのがExcel VBA。
マクロで処理できるようになれば、普通にやっていたら、膨大な時間がかかるものも、一瞬で終わらせることもできます。
そんなことにも惹かれたのはもちろんですが、プログラムを書くことの必要性も感じたからです。
マクロを書ける様になれば、大きなスキルアップにつながると感じています。
過去にも一度記事にしているんですが、ここにきてようやく。^^;
ツワモノがたくさんいるので、ブログに書くのも気合が必要なのですが、アウトプットの場は多いほうがいいので、勇気を持ってペンをとりました。
なんのこっちゃ。(笑)
マクロを書くには設定が必要
マクロを使うと、どんなことができるのか?
実際に手を動かして体感してみると、わかります。
マクロを書くには、Excelの設定変更が必要です。
どんな変更が必要か?大きく分けると次のようなものです。
- 開発タブの表示
- ファイルの保存形式を[.xls]→[.xlsm]または[xls]に
- セキュリティレベルの設定
❶ 開発タブの表示
まずは開発タブを表示させてみます。
Excelのファイル→オプションをクリック。
リボンのユーザー設定で開発タブにチェックを入れておきます。
❷ ファイルの保存形式を[xls]→[xlsm]へ
ファイル→オプションの「保存」をクリックして、ファイル形式を変更しておきます。
❸ セキュリティレベルの設定(Alt→T→O)
セキュリティの設定は同じくファイル→オプション→マクロの設定→セキュリティ センターの設定から「警告を表示してすべてのマクロを無効にする」にチェックします。
「Alt」+「F11」でVBE起動→マクロを書く
次にマクロを書く画面を準備します。VBEと言われるものです。
「Alt」+「F11」をクリックしてみましょう。
そうすると、Excelとは別の画面が起動します。
ここで「Alt」→「I」→「M」の順にタッチしてみると、白い画面が表示されます。ここにマクロを書いていきます。
このVBEの画面でも設定をいくつかしておきます。
まずは、「オプション」→「編集」タブを選択して「自動構文チェック」のチェックを外し、「変数の宣言を強制する」にチェックを入れておきます。
今度は、エディターの設定でキーワードの前景やフォント名、サイズなどを設定しておきます。
同じように識別子についても設定をしておきましょう。
VBEを閉じる時は、起動と同じで「Alt」+「F11」です。
勇気を出してマクロを書いてみよう
「Alt」+「F11」でVBEを起動して、ここにマクロを書いていきます。
勇気を出して書いてみましょう。(笑)
まず最初に「Sub sample」と入力してEnterをクリックしてみましょう。
1 2 3 |
Sub sample() End Sub |
フォントの色も先ほど指定した色になっているのが確認できます。
このSub sampleとEnd Subの間にマクロを書いていきます。(Sampleはタイトルだと思って頂ければ)
マクロを書くときは、読みやすさを考慮して、tabキーで書き始めをずらしておきます。本当は何を書いているかも「’」をつけてコメントするのがベストですがここではシンプルなものばかりなので省略します。
B5セルに数字の5を表示するという記述なら、「Range(“B5”).Value = 5」と記述します。B5を「” ”」で囲うのは文字として認識させるためです。
1 2 3 |
Sub sample() Range("B5").Value = 5 End Sub |
実行するには「F5」をクリックします。B5セルに5が表示されているのがわかります。
他にも「Cells(9, 2) = 10 * 10」(2がBを意味しています。)と書いてみると、今度はB9セルに100が表示されました。
1 2 3 |
Sub sample() Cells(9,2) = 10*10 End Sub |
「cells」と小文字で入力しても、自動的に「Cells」と大文字に切り替わりますのでご安心を。
こんな式を入れてみても、F5をクリックすると一瞬です。文字でも計算式でも大丈夫です。
1 2 3 4 5 6 7 8 |
Sub sample() Range("A1").Value = 1 Range("B2").Value = 5 * 5 Range("C3").Value = "GO" Range("D4").Value = Range("B2").Value - 1 Range("A5").Value = Range("A1").Value + Range("B2").Value Range("B2").Interior.Color = vbGreen End Sub |
1行ずつ確認する場合には「F8」をクリックして実行していきます。
最後は連続するデータ入力をやってみます。
「For〜Next構文」といって、指定した範囲まで繰り返し記述するというものです。
こんな記述をしてみました。「i」が変数で2〜15まで変わっていきます。
「A1、A2、A3・・・A15」、「B1、B2、B3・・・B15」、「C1、C2、C3・・・C15」といった感じで。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub sample() Dim i As Long For i = 2 To 15 Range("A" & i).Value = "eLtax" Range("B" & i).Value = "ダサダサIT" Range("C" & i).Value = "白石さん元気?" Next Cells(17, 1) = "大阪" Cells(17, 2) = "かき" Cells(17, 3) = "ランチ" End Sub |
これで「F5」をクリックすると、一瞬で表示されます。
マクロは実行すると、「Ctrl」+「X」で戻すことができません。実行前には「Ctrl」+「S」で保存を
マクロのイメージはこういったものです。
アウトプットがしやすいのがExcelのよさ。
超入門。コピーしてみてもいいので一度手を動かしてやってみて頂ければ。
【編集後記】
昨日は研修で大阪へ。机上の理論ではなく、体験型のセミナーでした。新大阪から梅田に向かうときに地下鉄を利用したのですが、地下鉄なのにエスカレーター上がるってのは、妙な感じでした。名古屋では味わえな感覚です。夜は会社時代の友人に10年ぶりに再会しました。サラリーマンとフリーランス、立場は違えど、お互い楽しもうと握手を交わして名古屋に戻りました。
【昨日の1日1新】
※「1日1新」→詳細はコチラ
大阪駅
オイスタールーム
梅田ハービスエント
ファミマ 大阪マルビル店
セブン-イレブン JR大阪駅御堂筋南口店
大阪駅前第2ビル
徳田酒店 大阪ルクア店