- Excel VBA 質問スレ Part35
174 :デフォルトの名無しさん[]:2014/11/19(水) 00:26:35.25 ID:IL3ynjUE - 本格的で長いコードのとき
そこで使われているたくさんの変数名やサブ名や関数名を一括で変更したいときは なにかいい方法はありますか?
|
- Excel VBA 質問スレ Part35
183 :163[]:2014/11/19(水) 10:03:15.97 ID:IL3ynjUE - >>178
ありがとうございます! それですね。 ところでふと思ったのですが その方法だとアクティブになる予定のシートやセルを取得できますが アクティブになる予定ではない複数のシートのそれぞれのシートをもしアクティブにしたときのその各シートのなるであろうアクティブセルたちは どうやって取得しますか? (意味が複雑ですが分かる人には意味は分かると思いますが)
|
- Excel VBA 質問スレ Part35
184 :デフォルトの名無しさん[]:2014/11/19(水) 10:06:05.83 ID:IL3ynjUE - >>175-176
それだと例えば変数が ・Age ・AgeMax の2つあった場合 AgeだけAge→HowOldと変数名を変えたいばあいに 変えたくないAgeMaxまでHowOldMaxと誤って変えてしまう問題がある。 さらにこの例以外にも問題はたくさん生じると思う。
|
- Excel VBA 質問スレ Part35
186 :デフォルトの名無しさん[]:2014/11/19(水) 10:18:01.31 ID:IL3ynjUE - >>185
>「完全に一致する単語だけを〜」 それでもダメじゃ?
|
- Excel VBA 質問スレ Part35
189 :デフォルトの名無しさん[]:2014/11/19(水) 10:46:57.19 ID:IL3ynjUE - >>187
上の>>184で書いた具体例は複雑怪奇な入り組んだコードを わかりやすく説明するために最高度に洗練して最高潮にシンプル化したもの。 そりゃAgeとAgeMaxだけだったらAgeMaxをまず"TempVariable"にでも置換しといてAgeを置換したあとまた戻せばいい。 しかし実際はこの100万倍も複雑なんだよ。
|
- Excel VBA 質問スレ Part35
191 :デフォルトの名無しさん[]:2014/11/19(水) 10:49:38.14 ID:IL3ynjUE - >>188
はい、まず好奇心というのが一番大きいものを占めると思いますよ。 以前はわざわざセレクト/アクティベートにして対象のシート/アドレスを取得してたけど もっと単純なコードでできる/できそうなことがわかって、 一般にもし複雑なことを簡単に済ますことができるなら今後のコードの可読性/シンプル化のためどんなことでも徹底的にやる、 それがオレのブログラミング哲学ですから。
|
- Excel VBA 質問スレ Part35
192 :デフォルトの名無しさん[]:2014/11/19(水) 10:56:10.36 ID:IL3ynjUE - VBAのエディタにそういうリファクタリングの機能がついていればいいんだけど。
そういやVBAのエディタってその使い方を解説したサイトや本って全くないね。
|