Excelのマクロを作りたい。
しかし、始め方がわからないと言う方のために
入門編を書きました。
6)では、セル(D3)にhello world と書く(入れる)
セル(D3)とは、[A1]を基準にして(2,3)(2行、3列)ずれたところという意味です。
2-0-Excelセル活用の基本に出ている。
ここからは、マクロを(できたもの)挿入して実行してみます。
マクロの本体は、2-0-Excelセル活用の基本に出ています。
ここの後に同じ本体があります。
Excel macro example
このマクロのファイルの作り方。
Excelを立ち上げ、ファイル選択、名前を付けて保存でLissajous_fig.xlsmの空ファイルを作ります。(*******.xlsm マクロ有効ファイルにすること)
表示タブでマクロ表示選択、編集をクリック、
灰色のウインドウが立ち上がる。そこで、関数名 Lissajous を入力する
そうすると
Sub Lissajous()
End sub
だけが表示されます。
その中身は、以下のマクロです。
重複する、Sub Lissajous()
End sub
は、消去して下さい。
重複しなかったら、そのままです。
何回も実行する場合、マクロ表示で「オプション」を選択します。
実行するショートカットキーが設定できます。CTRL+s などのように。
以下の例題では、[B1]=1, [B2]-=1 を入力しておくとスムースに進みます。
では、お楽しみ下さい。
Sub Lissajous()
[A1].Select
pai = 3.14159265
ActiveCell.Offset(0, 0) = "f1[Hz]"
f1 = ActiveCell.Offset(0, 1)
ActiveCell.Offset(1, 0) = "f2[Hz]"
f2 = ActiveCell.Offset(1, 1)
ActiveCell.Offset(0, 3) = "time"
ActiveCell.Offset(0, 4) = "X=COSwt"
ActiveCell.Offset(0, 5) = "Y=SINwt"
w1 = 2 * pai * f1
w2 = 2 * pai * f2
Time_end = 1#
N = 1000
dt = Time_end / N
For i = 1 To N + 1
t = (i - 1) * dt
ActiveCell.Offset(i, 3) = t
ActiveCell.Offset(i, 4) = Cos(w1 * t)
ActiveCell.Offset(i, 5) = Sin(w2 * t)
Next i
End Sub