はじめての・・・ エクセルマクロ・VBA! ちょっと下ネタ交じりにご紹介!

こんにちは、エクセル使いこなし隊 隊長の吉井良平です。

 

昨日の記事「先生や幹事さんにおススメ! 2秒で席順を決めるエクセルマクロ」が好評だったので、今日もエクセルマクロに関する記事、マクロの作り方について書いてみます。

 

席順マクロも、「必要な場合はカスタマイズしてください」と書いたものの、やっぱりカスタマイズの方法、マクロの作り方も紹介しないと不親切だな、と思いまして。

 

マクロとは、自動的に処理することです。

そのマクロを記述しているのが、VBA(ビジュアル・ベーシック・アプリケーション)というプログラミング言語です。

 

言語なので文法があって、多くの「VBA入門」という本は、文法の解説から始まっています。

それはそれで王道の方法なのですが、でも日本語だって子供は文法を知らなくても日本語をしゃべっていますよね。英語だって、一番最初は文法じゃなくて、 ”Hello! This is a pen” から習いますよね。

 

なので「習うより慣れろ!」式で、初体験だけに「初体験エクセルマクロ」を作ってみましょう。(前置きが長くなってスミマセン!)

まずは準備

 

エクセルの初期設定だと、マクロ関係のタブが隠れているので、これを表に出してあげましょう。

VBA1

 

手順

 

 
VBA2
① ファイルタブを選択します
 
VBA3
② オプションを選択します
 
VBA4
③ リボンのユーザー設定を選択します

④ 開発にチェックをして「OK」を押してください

VBA5

 

これで準備完了です!

 

さっそく使ってみよう!

 

では、もうさっそく VBA を実際に書いてみましょう!

「開発」タブを押して、「Visual Basic」をクリックしてください。

VBA6

 

出てきた画面で、挿入 → 標準モジュールを選択

VBA7

 

すると、コードが入力できるようになります。

まず最初に、”MsgBox”という関数を使ってみます。なかなか文章で表現するのは難しいので、動画で説明しますね。

なお、MsgBox と大文字と小文字が混ざっていますが、これはソフトが勝手に変換してくれるので、入力の時には気にしないで大丈夫です。

 

すると、こんな画面が出てきましたね!

vba8

 

もうちょっと感じを出すために、赤字の部分のコードも追加してみてください。(これは例なので、お好きな言葉で)

Sub はじめての()

MsgBox “あたたたたたたたたたたたたたたたたたたたたたたたたたたたた!北斗百裂拳!!!!!”

MsgBox ”お前はもう、VBAを使っている!”

MsgBox ”ひでぶ!”
End Sub

 

なんのこっちゃ?ですが、これで初めてのVBAは完成です!

 

初体験だけに・・・

 

MsgBoxは、ただ単にメッセージを表示させるだけなので、もうちょっと遊んでみましょう。初めての・・・ということで、初体験に関してです。(ポッ)

やりたくない方は大丈夫です。セクハラじゃないので・・・

 

新しく使うコード

 

MsgBoxに追加して、InputBoxというのを使ってみます。InputBox というのは、何かを入力させるための表示です。

あと、変数というのを使います。変数は、数学で出てきた X とか Y を思い出してみてくださいね。何かが代入されるもの、その時々によって変わる数のことを、変数といいます。

もうちょっと手を加えて、If 文というのを使ってみます。Ifは、英語の「もし」ですよね。もし○○であれば、という条件を加えます。

If(もし○○であれば)

Then (こうしなさい)

Else (違っていれば) *elseを指定しない場合もあります

End If (終り)

のセットです。

これも実際にやってみましょう!

 

え~と・・・調べてみたら、日本人の初体験の平均は20.3歳でした。いや、それは今はどうでも良いんですけど! え~僕の初体験は・・・関係ないですね!

興味のある方は、こちらをどうぞ。 (相模ゴム工業株式会社さん特設サイト

 

すると、こんな画面が出てきましたね!

vba9

 

えっと・・・その結果は書きません。(ポッ)

 

ちょっと、エクセルのくせに失礼な! と、お怒りになった方もいるかもしれません。

そんな場合は、下記のコード(赤字部分)を挿入してみてください。

Sub チェリー()

N = MsgBox(“このマクロを続けますか?”, vbYesNo, “この質問はあなたが嫌な質問かもしれません”)

If N = 7 Then
 Exit Sub
End If
N = InputBox(“初体験の入力”)

If N <= 20 Then

MsgBox “早いですね!”

Else

MsgBox “大丈夫です!”

End If

End Sub

 

MsgBoxに、「はい」と「いいえ」ボタンを付けて、いやな場合はマクロを止める(Exitする)という条件をつけてみました。

 

作ったマクロは、「開発」タブの「マクロ」ボタンを押しても実行できます。

vba11

 

好きな画像や図形などを右クリックして、マクロを貼り付けすることもできます。

 

今日作ったエクセルマクロも、一応貼り付けしておくので、入力するのが面倒な方は使ってみてください。

 

ダウンロード

 

本日は以上です。

お前はもうVBAを使っている!

(お前呼ばわりして、本当スミマセン!)

でした~

1 個のコメント

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    ABOUTこの記事をかいた人

    昭和48年広島県生まれ。現在も広島に住んでいます。 趣味は音楽鑑賞(邦楽、洋楽問わず、クラシック、童謡も)、マンガです。エクセルを効率的に使う方法を紹介して、あなたのお役に立ちたいと思っています。