ここではボタンを押すと特定の文字列をセルに入力できるVBAを説明します
マクロの自動記録を学びたい場合は → (e4b) マクロの自動記録
ワークシートが表示されている状態で [表示(V)]メニュー → [ツールバー(T)] → [コントロールツールボックス] を選択すると、下のようなツールバーが表示されます
下のようになります
コントロールツールボックスの[三角定規]がへこんだ状態になります、
これが デザインモード の状態です。この状態でコマンドボタンを選択したり、
ボタンの位置を移動したり、ボタンの見出しを変更したりできます。
もう一度三角定規をクリックすると
コントロールツールボックスの[三角定規]がへこんでない状態になります、
これが デザインモードから抜けた 状態でコマンドボタンを押すことができます。
下のような画面が表示されます。これがVBE(Visual Basic Editor)の世界です
VBAさんこんにちは、お手柔らかに
ここで記憶しておいてほしいのは、青いところに[Sheet1(コード)]と書いてあることです。
ここに書いたVBAコードはあくまでこのSheet1上でしか使えません。
ここにCommandButton1_Click と書いてあるのはCommandButton1 が押されたときに
このプロシジャーに飛んできますという意味です
Private Sub CommandButton1_Click()
selection.value = commandbutton1.caption
End Sub
半角英数字で、一文字たりとも間違ってはだめです、プログラミングの世界は厳しいのです。
そうです、VBAは賢いので、VBAキーワードの先頭を大文字に変えてくれます。
Private Sub CommandButton1_Click()
Selection.Value = CommandButton1.Caption
End Sub
意味は:CommandButton1 につけられた[見出し]の内容を 選択されたオブジェクトの値に入れなさい、という意味です。
SelectionはApplication が現在選択しているオブジェクトをさすプロパティ(属性、情報)。
Value はオブジェクトが持つ[値]というプロパティ。
Caption はCommandButton1 が持つ[見出し]というプロパティ。
(Captionなどキーワードをクリックしてから[F1]キーを押してヘルプを呼び出せます)
ここでエラーが表示されたら、どこか間違っています。コードをよく見直してください。
×印(閉じる)をクリックしてワークシート側に戻りましょう。
これでデザインモードから抜けることができます。
セルC3を選択してから、CommandButton1を押してみてください。
セルC3に『CommandButton1』という文字列が入力されます。
これで第一段階は成功です。
プロパティの中のCaptionのところが『CommandButton1』になっているのでこれを
『エクセルの学校』に変更します。
これで『セルを選択してからボタンを押したところに自分が決めた文字列が入力できた』ことになります。
これも立派なVBAマクロです。
簡単な例で、説明してきましたが、VBAというものが少し身近に感じれるようになると良いのですが