1424930_6867_3

「エクセルを、自動化せよ」

連載:

エクセルで始める!VBAプログラミング入門
(Excelの作業を自動化できる、プログラミング超入門講座)

(第4回)続・基本のVBAを記述してみよう!

【連載】

▼この連載は、ベネッセUdemyにて発売している動画コースの内容から一部を記事にしているものです。
動画でもっと分かりやすく勉強したい方は、こちらもご覧下さい。
(この連載限定で●%割引となります)

screenshot_79

 

Excelで”メッセージボックス”を出現させることができ、感動しているマーク。しかし、素朴な疑問が…?

2018-06-04_12h34_23

[前回までのあらすじ]

Excel仕事に苦労していたカフェの店長マークは、突然あらわれたクマに、エクセルを自動化する「マクロ」を教わることになった。VBAの基本的な記述方法を学んだマークは、Excelの画面に「メッセージボックス」を表示させることに成功。はじめて自分で記述したVBAが動いたのを見て感動したマークだが…?

background

マーク
やったー!はじめて自分で作ったVBAが動いたぞ!

 

熊リオ
うむ。自分で作ったプログラムが動作したという感動

この感動を忘れることなく、今後も楽しんで学ぶがいい。

 

マーク
うんうん。サンキュー熊さん。
それはいいんだけどさぁ…ふと疑問に思ったんだ。

 

熊リオ
む?何だ?

 

マーク
メッセージボックスを出して、何の役に立つのかな?

 

熊リオ
ぬ・・・(汗)

 

熊リオ
愚か者!
まだこれは、基礎の基礎に過ぎない。はじめてのVBAに慣れるための準備体操のようなものだ。

 

マーク
そ、そうなのか。すみません。

 

熊リオ
それに、MsgBox関数だって、ゆくゆくは実用的なマクロを作っていく時には非常に大事な役割を発揮するんだぞ…今の君にはイメージしにくいだろうがな。

まぁ、今回からVBAの実用性を見せていこう。ついてくるがいい!

マーク
は、はいーーー!

 

(0)今回の実習内容

今回の実習内容はこちらです。

  • (1)セルに数値を挿入してみよう
  • (2)セルに文字列を挿入してみよう
  • (3)一発で「割引価格」にしよう

実習ファイルをダウンロードしてみよう!

パソコンで以下のファイルをダウンロードして、実習を行うことができます。

screenshot_78
section1_goal3.xlsx

(1)セルに数値を挿入してみよう

ここでは、セルに数値を挿入するマクロを記述してみます。

[こんな結果になります]

 

マーク
おお、自動的に数値が入るんだ!
熊リオ
そう。ここでは、セルの値に何かの数値を挿入するというマクロを作る。

今回は1つのセルだけを対象とするが、これを応用すれば、広いセル範囲に、データを一気に入力する…ということも可能だ。

マーク
ほほう。面倒くさがりの僕にぴったりだ!

①前回作成した「Sub Aisatsu() ~ End Sub」の後ろで[Enter]キーを何回か押して、いくつか改行しておきましょう。
(見やすくするためです。)

②VBAを入力します。

③マクロを実行してみましょう。

2018-06-04_13h01_34

④選択しているセルに、2000という数値が挿入されました。

 

(2)セルに文字列を挿入してみよう

ここでは、セルに文字列を挿入してみます。

[こんな結果になります]

2018-06-04_13h17_30

マーク
今度は「在庫切れ」っていう文章が挿入されたなぁ!
熊リオ
そう。VBA用語では、数値以外のデータを「文字列」と呼ぶ。

ここでは1つのセルに「在庫切れ」と挿入する単純な処理になっているが、これを応用すると、たとえばデータが空白になっている商品を探し、全てに同じ文字列データを一気に挿入するなどが可能になる。

 

マーク
ふむふむ便利そう。

ところで、文字列を使うときはやっぱり「”」(ダブルクォーテーション)で前後を囲うんだね~。

熊リオ
そうだ。文字列を使用するときは「”」で前後を囲うこと。忘れるとエラーになるから気をつけろ。このルールは、Excel関数を使うときも同じだな。

2018-06-04_12h52_43

①前後を適度に改行し、今回の「Zaikogire()」マクロを記述してみましょう。

2018-06-04_13h16_03

②実行すると、現在選択しているセルに文字列が挿入されました。

 

※「在庫切れ」の文字列が挿入されると、数式の結果にエラーの表示が出ますが、ここでは気にせず置いておいて下さい。

 

(3)一発で割引価格にしてみよう

今回は、数値に0.5をかけて割引価格にするマクロを記述してみます。

[こんな結果になります]

マーク
うん?今回は計算した結果を入れてくれるマクロか~。
熊リオ
その通りだ。VBAの有効性の1つは、データを取り込んで計算をさせ、その結果をどこかに出力させるというもの。

今回はセルに出力させているが、たとえば新しいシートを自動的に作って、そこに計算結果をまとめて出力…なんてことも可能だ。

マーク
ふむ~。計算って難しい。だんだんプログラミングをしている実感が出てきたぞ~。

 

 

 

 

今回はここまで!

いかがだったでしょうか?

 

今回は以上です。

次回からは、

  • 「変数」を使ってみよう!

などを解説して参ります。

 

 

この連載のような内容を動画のコースでわかりやすく解説しています。

(ベネッセUdemyにて動画コースが●%オフ)

screenshot_79

 

【好評につき、続編が出ました】
[脱・入門編]請求書を1クリックで作るマクロを作ろう

screenshot_80

 

 

連載:

エクセルで始める!VBAプログラミング入門
(Excelの作業を自動化できる、プログラミング超入門講座)

【連載】