質問: 《excel or word》全角文字を検索して削除、もしくは半角文字のみを抜き出したい 全角文字で書かれた、日本語の文があります。(一般的な文章ですので、文字数は勿論任意です) その中に、半角英数字8文字で書かれたid番号が点在しています。 (idの前後の文字数、またひとつの分の総文字数は任意です) ...という内容が一つのセルに入っていて、それが数千行あるエクセルのブックがあります。 この中から、半角英数字8文字のidのみ、取り出したいのです。 (半角英数字はidにしか使われていない、という認識です) 1)半角8桁の英数字だけ別セルに取り出す 関数で何とかならないかと思いましたが、ごく一般的な文章なので、idの前後の文字数がバラバラで断念しました 2)全角文字のみ検索し、置き換えで削除する ワードにコピーしてやってみようと思いました。 2003なのですが、「任意の英数字」は検索できても、「任意の全角文字」の検索機能はないようです。 (「任意の文字」の項目が、全角文字に該当するのかと思い、検索置換をしてみたら、どうやら半角英数字も該当するようでした) 実際困っております。 何かいい手はないでしょうか。
回答: こんにちは。 >全角文字のみ検索し、置き換えで削除する ということなら、 '標準モジュール function regrepl(mystr as string) as string with createobject("vbscript.regexp") .pattern = "[^\w\d]" .global = true regrepl = .replace(mystr, "") end with end function においてあげればよいはずです。ただし、半角英数が点在していたら、これは役には立ちません。 vbe に貼り付けたら、以下のような数式にしてあげれば出来ます。 =regrepl(a1)