トップページ > プログラム > 2014年11月19日 > IL3ynjUE

書き込み順位&時間帯一覧

3 位/236 ID中時間01234567891011121314151617181920212223Total
書き込み数1000000000600000000000007



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
163
Excel VBA 質問スレ Part35

書き込みレス一覧

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のエディタってその使い方を解説したサイトや本って全くないね。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。