マクロでいこう! ~ Excel活用HomePage ~

VBAでラクしたい ~Part 2~

こちらのコーナーでは、VBAの使い方を中心にご紹介していきます。
作者自身の経験から書いておりますので、本とかとは違ったコトを
書いてるトコロもあるかもしれません。 そういう場合は、良さそうな方を信じましょう(^_^;
TOPVBAでラクしたい ~Part 2~ > オブジェクト名を決める

オブジェクト名を決める

変数も定数も決めましたが、「え?まだ何かあるの。早くコードを書きましょうよ」という
アナタ。もうちょっとの辛抱です(^_^; #なのか?

追加したコントロールもありますから、それぞれにオブジェクト名を付けて、んでそれから
始めることにしましょう(^-^;;


-------------------------------------------------------------------------------------
<オブジェクト一覧>

            内     容                オブジェクトの種類        オブジェクト名

1.「新規登録」 オプションボタン    OptionButtonControl       OptAddMode
2.「修正/削除」オプションボタン            〃                OptUpdMode
3.「登録」ボタン                   CommandButtonControl      CmdTouroku
4.「修正」ボタン                           〃                CmdUpdate
5.「削除」ボタン                           〃                CmdDelete
6.「前のレコードに移動」ボタン             〃                CmdPrev
7.「次のレコードに移動」ボタン             〃                CmdNext
8. レコード数表示用ラベル          LabelControl              LblRecCnt
9. 入力フォーム                    Form                      FrmDataInput
-------------------------------------------------------------------------------------

ざざーっと書いてしまいましたが、どうでしょう?

大体こんな感じでよさそうですよね(^-^

・・・・でもなぁ。なんか "CmdTouroku" だけ浮いてる感じがする(^^;;;;
他は英語なのになんでココだけ和風にしちゃったんだろ <わたし。

特に実行には影響ないですけど、やっぱりオブジェクト名を CmdTouroku → CmdAddNew に
変更しましょう(^^;;;

【訂正個所】
-------------------------------------------------------------------------------------
3.「登録」ボタン                   CommandButtonControl      CmdAddNew
-------------------------------------------------------------------------------------

さてこの辺を訂正するにはどうすればいいでしょう。

オブジェクト名を変更する方法はお分かりですよね? CmdTouroku となってた部分に上書きすれ
ばOKなわけですから。

もう1つ注意しなければならない点は「既に出来上がっているコード部分」の変更ですねヽ(^-^ )

これを忘れると、今まで動いてたものも動きません。なぜなら「CmdTouroku がクリックされた時」
というコードを既に書いているのに、その CmdTouroku が無くなっちゃってるわけですから。

いやもちろん実際に無くなってるわけではないですよ、名前変えただけですから。
ところが、その名称は変更した時点でどこにも存在しないわけですから、プログラム的には消え
失せたも同然なのです。

だから、記述済のコードに変更を入れるというのは面倒な作業なのです。
#そして間違いも起こりやすい

あらかじめ大枠を決めてから作業に取り掛かる異議というのは、実はこういう修正を少なくする
ためにもあると言えます。


でわ、記述済のコードの訂正の仕方について。

上からずーーーっと目で追っていく、という方法もありますが、長いプログラムになればなるほど
気の遠くなる作業になってしまいますし、効率も悪く、見落としが起きやすいです。

--- こういう場合は「置換」を使いましょう。 ---

これは特にVBA特有の機能ではなくて、WordでもExcelでも普通のワープロでもある機能ですよね。

使ったことの無い方は、この機会に覚えませう。

メニューから「編集」→「置換」と選択するとダイアログが表示されます。
この場合だと

検索する文字列 に CmdTouroku
置換後の文字列 に CmdAddNew

と入力し、「すべて置換」をクリックすればOKです。

「対象」を選択するオプションボタンがありますが、今は「カレントモジュール」が On の状態です
よね。この状態だと、このフォームモジュール全ての範囲で置換を実行します。
他のモジュールも置換をすべき部分がある、という場合には、「カレントプロジェクト」をOnにすれ
ば、全モジュールを置換処理の対象に設定できます。

確認しながら置換を行いたい場合には「次を検索」をクリックし、内容を確認してから「置換」を
クリックするようにしてください。


ってことで必要な準備が整ったと思います。
いよいよコードを書く作業を再開できますね(^^;


でもでも区切りが悪いので、続きは次回(( ((( ヽ(;^^)/ スタコラサッサ


TOPVBAでラクしたい ~Part 2~
Copyright (C) 2006 マクロでいこう!. All Rights Reserved.