素人がExcelVBAによる「一人働き方改革」に挑むブログスマートフォン用の表示で見る素人がExcelVBAによる「一人働き方改革」に挑むブログExcelVBAネタです。2019-01-01Findオブジェクトの設定をリセットするメソッドFindオブジェクトの設定をリセットするメソッドこのときakashi-keirin.hatenablog.comのリスト1で、Document内の黄色蛍光マーカ位置をRange配列として返すメソッドを作った。Withこの部分が異様にタテ長で気に入らなかった。Findオブジェクトを利用するたびに、こんなタテ長のブロックをいちいち書く(コピペする)となると非常にめんどくさい。Findオブジェクトを初期化する必要なプロパティのみ再設定するというやり方を考えた。Findオブジェクトを初期化するメソッド上掲のリスト1では、「蛍光マーカ」の有無を表すプロパティ(Highlight)のみTrueにしていた。蛍光マーカの有無だけを調べたかったのでそうしている。それ以外は初期設定だとみなせるということ。したがって、HighlightプロパティをFalseにしておけば、まさに初期化状態、ということだ。SubFindオブジェクトを返すFunctionにすることも考えたが、返り値のFindオブジェクトをSelection.Findにセットするというのがよくわからなかったので、ByRef指定で直接Findオブジェクトを書き換える形にした。このメソッドに一旦Selection.Findオブジェクトを渡してFindオブジェクトを書き換えておき、その後で、設定したいプロパティだけ設定すればよい。前回のコードの修正というわけで、前回のコードを修正してみる。Functionで、お次が修正後。TrueでHighlightプロパティのみ設定。あのくっそ長かったFindオブジェクト準備用コードがすっげー短くなった。おわりにこれでより一層Findオブジェクトが使いやすくなったなあ。»プロフィールid:akashi_keirinExcelVBAネタです。SyntaxHighlighter.all();注目記事はてなブログをはじめよう!akashi_keirinさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。