vbaでの正規表現について教えてくださいこんにちはゲストさん。>>解決済みの質問vbaでの正規表現について教えてください「セルに入ってる値が数値ならA列からE列まで赤色にする」を正規表現で行いたいのですがよくわかりません。3はそのセルだけの色を変えるのですよね?A列からE列までにするにはどうすればいいでしょうか?例えばA3セルに「1」が、A6セルに「3」が入っていたら、A列からE列まで赤色にしたいです。例示されているコードは>アクティブシート内でSUM関数を使っているセルの背景を赤色に塗りつぶすコードです。Subみたいなことでできるので、わざわざ「正規表現」を使う必要はありません。Subのようなことになります。Trueも不要ではないかと存じます。"23"d)=100+23などいろいろとあります。「Sample3」のように「r.Formula」とした場合は、a・bの場合のみになりますが、「r.Value」あるいは「r.Text」とした場合は、a~dのすべてが対象になります。3ただし、>例えば>A3セルに「1」が、A6セルに「3」が入っていたら、とお書きですので、検索の対象がA列の場合です。3みたいな感じになります。20:56:05お礼ありがとうございました。回答(2)ANo.2WindFallerこんにちは。田中享氏の所を真に受けないほうがよいかもしれませんね。彼のサイトは、テクニックの披露であっても、現実的?なもの、最適という観点からは、ずれているものが多いような気がします。"^\d+"のほうがよいと思います。\dは数値また、私は、実務では、$は明示的に用いることが多いので、今回のような場合は使いません。Excelの場合は、概ね、問題はないはずですが、行末には必ずしも、予想した文字列が来ていないことも多くあります。VBScriptの正規表現では、\n,\rなどの制御文字も関係するからだと思います。正規表現は、複雑な文字パターンを検索したりすることに使うことがあっても、今回は、単純な数値などには用いません。正規表現の練習だと解釈して書きます。>次にtest(r.Formula)は、数式だからFormulaを使ってるのですよね?いいえ、数式でなくても、文字列でも検知します。Formulaは、数式を文字列にするために使います。しなければなりません。後は、コードで示します。objRe'数字を探すなら、Pattern以外はいらないことは既に述べられていますので、ブロックアウトだけにしておきます。Sub'//'普通は以下で済みます。ワークシート関数、IsNumberを用います。Sub'//'>A3セルに「1」が、A6セルに「3」が入っていたら、'>A列からE列まで赤色にしたいです。'表現としては、3行目から6行目までを赤にしたいとも取れます。11:02:08お礼ありがとうございました。VBAと正規表現についての質問です。Excel2010を利用しています。正規表現の置換でスペースをタブに変更したいです。どなたかご教示頂ければ幸いです。VBスクリプトでの正規表現について質問します。Reserved.掲載情報の著作権は提供元企業等に帰属します。