VBA別館・Python別館
今日の日付発生VBA - Tak
2018/04/26 (Thu) 15:51:59
では今までのマクロをベースに、VBAでプログラムを作ってみましょう(コードcodeを書くとも言います)。
① 今日の例題として、エクセルシートのセルに、今日の日付を表示するを練習します。 まずその命令を出すボタンを作ります。
・開発タブをクリック①。
・デザインモードタブをクリック②。
・挿入タブをクリック③。
・コントロール(部品です)のアイコムが表示されますので、この中のActiveXコントロールのなかからコマンドボタンをクリック④して、シート上の適切なセルの上でクリックして下さい。
・するとCommandButton1が作られます⑤。
フォームコントロールにも似たようなコマンドボタンがありますが、今回のCommandButtonはVBA用、フォームコントロールの方のボタンはマクロ用と思ってください。
VBAでボタンを作る場合は、必ずこのステップを踏みますので、ここまでを繰り返し練習してください。
ここまで出来たら、次のcodingへ移ります。
今日の日付発生マクロ - Tak
2018/04/27 (Fri) 09:01:37
② 今日の日付を発生表示させます。
参考までに日付発生をマクロで自動作成させる(貴方がセルに日付発生関数を書き込む)と、次のようになります。
Sub Macro3()'
' Macro3 Macro
' 今日の日付発生マクロ'
' Keyboard Shortcut: Ctrl+c
'
Range("D3").Select '①
ActiveCell.FormulaR1C1 = "=TODAY()" '②
End Sub
再度各コードを説明します。
① 表示先のセル---自分でその時マウスで指定しますので、ここは不要です。
② 選んだセルに日付発生関数で、発生させます。---必要なのはこれだけ。
よって最終的には、マクロは;
Sub Macro3()
ActiveCell.FormulaR1C1 = "=TODAY()"
End Sub
となります。 簡潔になりましたね。でも誰もこんなマクロを書きません。 FormulaR1C1なんて使いませんよ。
次回は、これをVBAで書きます。
今日の日付発生VBA - Tak
2018/04/28 (Sat) 09:51:54
③ ではVBAならどんなcodeが出来るか?
左図:commandoButton1-コードの表示クリック
右図:別枠で赤で囲んだようなcodeが出来ている。
えっ、何もできてないじゃないか!
そう、これからそのcpdeを貴方が書くのです。
続く
今日の日付発生VBA - Tak
2018/04/28 (Sat) 14:17:45
④ 初めてのVBAを書く
・VBAでcodeを書くときには、開発タブーデザインモードー挿入と行って、ActiveXから最初のボタンを選ぶのでしたね。
・それをシートに張り付けると、CommandButton1が出来ます。
・そのボタンの上でマウスの右ボタンを押して、コードの表示をクリックします。
・すると、
Private Sub CommandButton1_Click()
End Sub
のようなdefaultのcodeが出来ます。
ここまでが今までの説明の復習です。
それでは、最初のVBAプログラムを作ります。
Private Sub CommandButton1_Click()
ActiveCell.Value = "=TODAY()"
End Sub
と真ん中の一行(ActiveCell.Value = "=TODAY()")だけ書き込んで下さい。
これで、選んだセルに今日の日付”2018/4/20”と表示されます。 こんな面倒ことをしなくても、セルに”=TODAY()”と書けば今日の日付が表示されますが、VBAのプラグラムの中で指定できるということが、連続したプログラムを作るときに大事になります。
今回はエクセル本来の関数を使用しましたが、次回は自分のcodeを書きます。