しままるの雑記帳

コンピュータを楽しみ、写真を楽しみ、科学を楽しみ、時に真剣に生き方について考えるサイト

プログラミング

Excelマクロを使ってみよう

投稿日:2017年4月28日 更新日:

Excelマクロ最低限ここだけ!

私は今年に入ってからExcelマクロプログラムを書くようになりました。しかし、まだ経験が浅い上に、使用頻度も低いため、基本的な文法を忘れがちになっています。今回はその備忘録として、Excelマクロを使用する上での最低限の知識と文法を記したいと思います。

マクロを始めよう

マクロを始めるにはVisual Basic Application略してVBAを立ち上げなければなりません。そのためには、「表示」タブから「マクロ」を選択し、「マクロの表示」をクリックします。

そうすると、こんな画面が立ち上がります。最初は何も空白のボックスが表示されている状態なので、そこに自分の書きたいマクロの名前を記入します。この場合は「test」としています。

そして、作成ボタンを押すと、このようなVBA画面が立ち上がります

Sub test()
End Sub
の間にプログラムを書き込んでいきます。testの部分は自分で決めた名前です。

 

セルに値を入れる

Excel上のセルに何かの値を入れてみましょう。プログラムはこんな感じです。

※サンプルプログラムここから※

Sub test()
With Worksheets(“Sheet1”)
.Cells(2,3) = 1
‘(2,3)は2行目3列目を意味する。C2に相当
End With
End Sub

※サンプルプログラムここまで※

With Worksheetsの後ろに対象とするワークシートを書きます。こうすることで、With Worksheets~EndWithの間はそのワークシートでの作業になります。2~4行目を「Worksheets(“Sheet1”).Cells(2,3) = 1」と書いても同じ作業ができます。

変数を定義して、セルの数値を変数に入れる

VBAでは
Dim num As Double
の様に変数を定義します。
Dim [変数名] As [変数型]です。
そして
num = .Cells(2,3)
で変数numに座標2行目3列目(C2)の数字が入ります。
これでnumに1が代入されました。

本当にnumに1が代入されているか確かめてみましょう。

※サンプルプログラムここから※

Sub test()
With Worksheets(“Sheet1”)
.Cells(2,3) = 1
Dim num As Double
num = .Cells(2,3)
.Cells(4,3) = num*10
End With
End Sub

※サンプルプログラムここまで※

こう書けば、numに(2,3)の値が代入され、numの10倍の数値が(4,3)、すなわちC4に値が入るはずです。これを実行すると

確かに(4,3)に10が入りました。

マクロの実行

マクロを作成するとマクロのリストに作成したマクロの名前が表示されます。

ここで実行ボタンを押すことで、マクロは実行できますが、ワンクリックで実行する方法があります。

マクロボタンを作ろう

このようにオートシェイプをつくり、それを右クリックすると「マクロの登録」というのを選べます。これをクリックすると

登録するマクロはどれか聞いてきます。今回はtestしかないので、testを登録します。

そしたら、登録したオートシェイプをクリックすることでマクロが実行できます。

おまけ

プログラミング学習の始めは「Hello Worldだろ」と思う人向け。

-プログラミング

執筆者:


comment

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

関連記事

初心者向けLinux入門:OSとは何か?

目次1 OSとは?2 ソフトとハード3 OSとは?再び4 OSとは?まとめ5 LINUXとは?5.1 LINUXはOSの一種5.2 LINUXの魅力は無料であることではない・・・と思う5.3 プログラ …

初心者向けLinux入門:ディストリビューションとは?

目次1 はじめに2 ディストリビューションとは=頒布3 Linuxの種類≒ディストリビューション4 どのディストリビューションがいいか?5 まとめ Linuxディストリビューションの意味について解説 …

Excelマクロにおける基本文法(繰り返しと分岐)

目次1 繰り返し(for文)2 条件分岐文(if文)3 まとめ マクロにおける基本文法(for文とif文) プログラミング言語でよく使われるのが繰り返し文と分岐文です。もちろんVBAでも、繰り返しや分 …

[備忘録] htmlにおけるメッセージ展開のプログラム

目次1 メッセージ展開、収納のプログラム2 サンプルプログラム3 動作確認4 知っている人がいたら教えてください メッセージ展開、収納のプログラム  ブログを書いていると、ついつい文字数が多くなって、 …

初心者向けLinux入門:ubuntuのダウンロード

簡単図解!Ubuntuをダウンロードしよう! ここでは、初心者向けLinux入門(下リンク)の一環として、ubuntuのダウンロード方法について説明したいと思います。 初心者向けLinux入門:Lin …