普段は、Unityで作れた物を記事にしています。
機会があって、VBAを触っていたので、
少しの間、VBA初心者ながら作れたものを記事にしていこうと思っています。
ただ、VBA初心者と言う事でコーディングがヘタクソです。
正直、その辺りは生温かく見守って頂けるとうれしいでっす。m(_ _)m
前置きは、これくらいにして本題に入って行こうと思います。
プログラムには無縁、表計算だけExcelを使ってる
でもマクロも覚えたい。
正直、何から始めればいいか分かんないですよね。
ケロも昔、覚えたいって思っていましたが、
何から始めればいいの?となりました。
とりあえず本を買って勉強しようと考えたんですが、
本を開くと、いきなりプロシージャがどうとか、オブジェクトがどうとか…
見るだけで、無理!ってなって勉強しなかった事を覚えています。
あれから幾年経ったことやら…
今やゲーム作りを勉強してるとは…
逸れてしまいました(;^_^A
話を戻して、
確かに概念や文法って大事なんですが、
何も知らないのにイキなりそんな事言われても分かるかよ!ってなります。
なので作りたい物を作る事から始めると、覚えるのも早いと思います。
今回は、簡単に作れて、実用性のあるボタン作りを説明します。
ちなみにコード(プログラム)の部分は、マクロの記録を使います。
ボタンで何ができるかを説明したいので、コードはExcelに任せます。
(;^o^) \(ToT )あんたほんとにそれでいいの
使うのは、Excel365です。
他の製品と大きくは違わないと思いますが確認下さい。
まずExcelVBAを使えるようにします。
新規ブックを開くと

ファイル~ヘルプまでがリボンに表示されています。
VBAは、開発の項にあるので、表示させる必要があります。
表示の手順は、ファイルをクリックします。

ファイルメニューから、その他→オプションをクリックします。
オプションが開いたら

リボンのユーザー設定をクリックして、メインタブの中にある開発にチェックを入れます。
チェックを入れたらOKを押すとシートの画面に戻ります。
リボンの部分に開発の項目が追加されてれば準備OKでっす。
開発をクリックして、VBAの項目に切り替えます。
マクロの記録を使ってコーディングするのですが、
単純にセルを選択するボタンを作ってみます。
どこのセルを選択してても、ボタンを押すとA1セルに選択が戻るって感じです。
まず、マクロの記録をクリックします。

マクロの記録画面が表示されます。
自動的に名前がMacro1になってるので、
そのままOKをクリックします。
これでMacro1と言うコーディングが開始されました。

記録が開始されてるとマクロの記録部分が記録終了に変わります。
記録終了の表示中は、マクロを記録してる最中と言う事が分かります。
今回は、

①マクロの記録
②A1セルをクリック
③記録終了
順番にクリックするだけです。
これでコーディングができました。
できたコードの確認ですが、マクロをクリックします。

作成したマクロ一覧が表示されるので、
Macro1を選択して、編集をクリックします。

VBAが立ち上がって、コード内容が表示されます。
ちなみにRange().Selectってのがセル選択のコマンドになります。
カッコ内にセルの番号を指定すると、指定セルが選択されます。
マクロの記録は、こんな感じでコーディングしてくれます。
後は、ボタンを作ってマクロを登録するだけなんですが、
これでは、ショボイので作図させてみたいと思います。
ボタンを使って、四角の図形を作図します。

使う図形は、四角形の中の”正方形/長方形”を選択します。
まず、マクロの記録を押します。

マクロ名は、分かり易ければなんでもOKなので、
今回は、図形作成としておきます。
OKをクリックして記録を開始します。
そのままの状態から挿入タブに切り替えて、

図→図形→正方形/長方形を選択してシート上に四角を作図します。
位置や大きさは任意でOKです。
作図できたら開発に戻って、記録終了をクリックして終わらせます。
マクロボタンからコードを確認します。

無事にコーディングされています。
ちなみにActiveSheet.Shapes.AddShape().Selectが作図のコマンドになります。
カッコ内にType・位置・大きさを設定する事ができます。
コーディングが問題なければ、ボタンを作ります。
開発の中の挿入をクリックします。

フォームコントロールの左端にボタンがあるのでクリックします。
マウスカーソルが十字に変わるので、図形やテキストボックスと同じ要領で、
ボタンを作成します。
作成が終わるとマクロの登録画面が開きます。

先で作った図形作成マクロを選択してOKをクリックして終了します。
これでボタンを押すと図形が追加されるようになります。

こんな感じですね。
ボタンを作成した際にマクロを登録しましたが、
すでに作ってあるボタンにマクロを登録し直す事もできます。
ボタンの上で右クリックしてメニューを開きます。

マクロの登録をクリックするとマクロの登録メニューを呼び出す事ができます。
先で作ったMacro1に変更して、ボタンをクリックすると
A1セルがアクティブになりました。
こんな感じでマクロを変更する事もできます。
マクロの記録を使って、コーディングしましたが、
どこにコーディングされてるかって事を覚えておく必要があります。
VisualBasicボタンを押して、エディタを起動します。

コーディングをするとこのプロジェクトに格納されます。
標準モジュールといって、Book全体に使えるコードを格納してあります。
マクロやマクロの記録でコーディングすると標準モジュールに格納されます。
今後、ユーザーフォームの記事も書こうと思いますが、
ユーザーフォーム上にボタンを作って、コーディングすると
そのボタンだけのコードになったりします。
これをクラスモジュールと言って、部品(オブジェクト)専用のコーディングになります。
ネットで情報を探すと
このコードは、標準モジュールに設定する
このコードは、クラスモジュールに設定する
みたいに説明されてる時があります。
標準モジュールならbook全体で、
クラスモジュールなら部品単位と理解しておけばOKです。
ざっくりと説明しましたが、ボタンの使い方については以上となります。
Excelって、プロパティを開いて設定したり、タブを切り替えて設定したり
結構、面倒な操作が多いですよね。
そんな時にボタンのマクロを組んでおけば、少しは幸せに作業ができるかと思います。
また、ボタンの設定って割と簡単なんで、
VBAの入り口としては、始めやすいかと思います。
ボタン機能をコーディングすると、他のコーディングが分かるようになったりします。
VBAを覚えたいけど何から始めればって人にはオススメですね。
今回は、この辺で〆たいと思います。
次回は、実際に作った物を記事にしてみようと思います。
それでは~ (^.^/)))~~~bye!!
この記事へのコメント