EXCEL 備忘録 | メシのタネ

PP_gear-a_12
このエントリーをはてなブックマークに追加

【Excel2013 VBA】マクロを作ってみる

 2014/10/07

あんまりExcelに細かい事を求めないのであれば
特にマクロなんて使う必要がないのですけど、
ある期間からある期間のデータをなんかしたいときとか
ループしないといけないとかなると、
Excelの関数だけで手が回らなくなるので
マクロ使えたら便利ですよね。

たまに自分は使ったりするので、
もし勉強したい人が居たらと思って書きました。

とりあえず入門してみましょう。

セルに名前をつける

別につけたくなきゃつけなくても良いんですけど、
付けといた方が楽になるので私はつけます。

excelnomacro1

名前の付け方はこんな感じです。
黒丸したとこを表示したいセルでクリックすると、
文字が入力できるので適当に名前をつけます。

開発タブを開く

あんまりエクセル触ってない人は相手にしたくないタブですが、
今回は思い切って開きましょう。

そうすると一番右にVisual Basicってとこがあるので
それをクリックします。

VBAが立ち上がります。画面左側に、プロジェクトの
エクスプローラ的なのがあるので、それのExcelの形したのクリックします。

excelnomacro2

名前付けたセルに文字を表示

多分まだ真っ白だと思うので
真っ白なとこに、適当な文字を表示させるプログラムを書きます。


Sub moji()

Dim moji As String

moji = "hello"
Range("さっきつけた名前").Value = moji

End Sub

これを書いてから開発タブのマクロを選んで実行を押します。

excelnomacro3

文字が表示されました!

指定日から今日まで何ヶ月を調べる

このままだと前回同様、味も素っ気もないので、とりあえずサンプルとして
日付の役に立ちそうなサンプル書いておきます。


Sub d()

Dim start As Date
Dim goal As Date
Dim differents As Integer

start = "2014,4,1"
goal = Date

differents = DateDiff("M", start, goal)

Range("mogerinko").Value = differents

End Sub

こうやって書くと4月1日から今日まで何ヶ月か図るのが簡単です。
この差をループさせたりすれば指定期間の間に計算が出来てとても便利ですよね。

デバッグの方法

F8を押すと1行1行プログラムを追っていきます。
debug.print = 変数
って書いておくてイミディエイトウィンドウに変数の中身が表示されるので
デバッグが楽です。イミディエイトウィンドウの出し方は、Ctrl+Gで出せます。
F5を押すと結果だけイミディエイトウィンドウに出力します。

excelnomacro4

とりあえずこれがF5を押した例です。

構文とか型チェックとか普段使う奴は大体あるので、
気が向いたら何か作ってみてはいかがでしょうか。

偶数の計算が(i mod 2)=0とか除算余りの使い方が知らない感じだったり
if 式 thenだったり、加算代入が無かったり?しますけど、他のMS系の奴に比べて
自分が何をどうしてるのか分かった上でコード書かせてくれるので随分とっつきやすいと思います。


このエントリーをはてなブックマークに追加

コメント

"【Excel2013 VBA】マクロを作ってみる"
でメシのタネのおすすめを検索したよ!

プログラミング備忘録 | メシのタネ