今回はEXCELVBA まとめです。
と、VBAを学ぶ前にマクロを説明しておきます。
マクロとは EXCELが持つ機能の一つです。
マクロを利用することで
EXCELを制御することや複雑な業務を自動化できます。
その命令を記述するときに使うのが
VBA(Visual Basic for Applications) です。
そしてマクロは一種の命令書です。
たとえば セルのデータが変化したら自動的に計算を行え等あらかじめ決められた書式で記述された命令書に従いEXCELが自動操作されます。
とりあえず起動していきます。
EXCELが起動しました。
VBAを立ち上げるには開発タブが必要です。
補足~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
⁂既定では開発タブは表示されていないので、開発タブの表示方法を載せておきます。
① Officeボタン をクリック(又はファイル)
② EXCEL のオプションボタンをクリック
③ 基本設定の開発タブにリボンを表示するにチェクをいれます
(リボンのユーザー設定。開発タブにチェック)
④ OKをクリック
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
で、開発タブをクリックすると左上のほうにVBAが出てきますのでクリックします。
するとこのような画面が出てくるはずです。
細かいことは後々説明していきますwwww
ではとりあえず組んで実行してみましょう。
数値をあらかじめ打ち込んでおきます。
プログラムはこんな感じです。なぜかさかさまに表示されてますが…
これを実行すると先ほど載せたEXCELの画面が
きちんと200以上のところだけが太字になっています。
次にマクロの記録をしていこうと思います。
まずはボタンの位置
では記録していきます。
記録しようとするとダイアログボックスが出てきます。
とりあえずそのまま実行します。
すると先ほど押したボタンがこんな感じになると思います
続けて記録続行・・・
記録完了。
コードを見てみましょう
こんな感じです。
ただマクロの記録はすべての操作が記録されるわけではないので注意が必要です。
PART2 _____________________________________________________
マクロの最小実行単位を⇒ プロシージャ
そして、プロシージャを記述するエリアがモジュールです。
詳しくは後々説明していきます。
では予告通り問題を見ながらやっていきます。
1・アクティブシートを印刷するマクロ
プログラムはこんな感じです。
では次の問題
2.アクティブセルに入力されている数値の税込み金額を求めるプログラムを作り実行してみましょう。
最初に数値を入力しておきます。
では、プログラムを作っていきます。
字が汚くてすみませんが…これを基に作成していきます。
これが完成プログラム。
早速デバッグで確認してエラーもないので実行してみましょう。
きちんと税込みで出てますね。(ちなみにこの値段スイッチライトの値段ですww)
PART3 _____________________________________________________
まず、VBAには大きく分けて3つ構文があります。
オブジェクト式
セルやワークシートを操作する際使用
ステートメント
プログラム実行の制御
関数
あるきまった計算結果を返す
です。 そろそろ飽きてきたと思うのでやっていきます。
ではまずこんなプログラムwww
AとBという入力ボックスを作りセル A1、A2 に文字を入れるプログラムです。
デバッグは完了済みなので実行してみます。
するとこんな画面が出ると思うので入力したい文字を入力します。
(今回は、構文と分解という言葉を2回に分けて入れたのでこうなります。)
自分の入れた文字がきちんと入力されているか確認www
入力されていればOKです。
PART4 _____________________________________________________
変数の宣言から入っていきます。
VBAの場合宣言の時には Dimステートメント を使用します。
記述は
Dim 変数名 As 型
です
ちなみにAs以降の型指定を省略するとその変数はバリアント型になる。
わかりにくいのでやっていきます。
プログラム完成
では上の三角の再生ボタンを押して実行してみましょう。
正常に動けばこのように表示されるはずです。
続いてセルに入っている文字を別のセルに張り付けるプログラムを作ってみます。
こんな感じのプログラムになります。
さっそく実行してみましょう。
このようになるはずです。
PART5_____________________________________________________
まず、セルの指定方法は2つあります。
● Range
● Cells
Rangeはセルのアドレスを文字列として表示
Cellsは行と列を数値で指定
わかりにくいと思うので同じ問題を2つのパターンでやってみます。
同じセルA1とセルC3に120という数を入れるプログラムを作ってみます。
完成です。 上がRangeの場合 下がCellsの場合です
どちらで起動してもこうなります。
ここまでご覧いただきありがとうございました。
補足~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
VBAでは既定のプロパティがあり、プロパティを省略する書き方ができます。
Rangeオブジェクトで定められているのはValue
なので省略すると=の先にある数値が入力されます。
ここまでご覧いただきありがとうございました。m(__)m
_________________ BY MT _______________