あんまりExcelに細かい事を求めないのであれば
特にマクロなんて使う必要がないのですけど、
ある期間からある期間のデータをなんかしたいときとか
ループしないといけないとかなると、
Excelの関数だけで手が回らなくなるので
マクロ使えたら便利ですよね。
たまに自分は使ったりするので、
もし勉強したい人が居たらと思って書きました。
とりあえず入門してみましょう。
INDEX
セルに名前をつける
別につけたくなきゃつけなくても良いんですけど、
付けといた方が楽になるので私はつけます。
名前の付け方はこんな感じです。
黒丸したとこを表示したいセルでクリックすると、
文字が入力できるので適当に名前をつけます。
開発タブを開く
あんまりエクセル触ってない人は相手にしたくないタブですが、
今回は思い切って開きましょう。
そうすると一番右にVisual Basicってとこがあるので
それをクリックします。
VBAが立ち上がります。画面左側に、プロジェクトの
エクスプローラ的なのがあるので、それのExcelの形したのクリックします。
名前付けたセルに文字を表示
多分まだ真っ白だと思うので
真っ白なとこに、適当な文字を表示させるプログラムを書きます。
Sub moji() Dim moji As String moji = "hello" Range("さっきつけた名前").Value = moji End Sub
これを書いてから開発タブのマクロを選んで実行を押します。
文字が表示されました!
指定日から今日まで何ヶ月を調べる
このままだと前回同様、味も素っ気もないので、とりあえずサンプルとして
日付の役に立ちそうなサンプル書いておきます。
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を押すと結果だけイミディエイトウィンドウに出力します。
とりあえずこれがF5を押した例です。
構文とか型チェックとか普段使う奴は大体あるので、
気が向いたら何か作ってみてはいかがでしょうか。
偶数の計算が(i mod 2)=0とか除算余りの使い方が知らない感じだったり
if 式 thenだったり、加算代入が無かったり?しますけど、他のMS系の奴に比べて
自分が何をどうしてるのか分かった上でコード書かせてくれるので随分とっつきやすいと思います。