[[20170922162610]] 『マクロで文字を置換したい』(まる) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロで文字を置換したい』(まる)

お世話になります。
初めてマクロを触っています(>_<。)
A列(置換前文字列)B列(置換後文字列)という別ブックに保存した
置換リストを利用して、納品されたブックを置換したかったのですが、
難しく、断念しました。

置換リストをすべてマクロのところに貼付けてみたのですが、
200パタ−ン程あるなかで、以下の4つが「?」となります。

・㎖  ・㎍  ・㌽  ・-

回避策を教えていただけませんでしょうか。

↓ 抜粋 ↓

Sub 置換()

 With Selection
           .Replace What:="([0-90-9Э  ])mL$", Replacement:="$1㎖"
           .Replace What:="([0-90-9Э  ])μ[gg]$", Replacement:="$1㎍"
           .Replace What:="([0-90-9]){ポイント}", Replacement:="$1㌽"
           .Replace What:="\—", Replacement:="−"
           .Replace What:="[  ]+$", Replacement:=""
 End With
End Sub

よろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:unknown >


 ㎖:ChrW(13206)
 ㎍:ChrW(13197)
 ㌽:ChrW(13117)
 としてはどうか?
 A1セルに各文字を入力して
 AscW(Range("A1"))
 でコードを確認。
 最後のは半角の-なのか?

(ねむねむ) 2017/09/22(金) 17:06


 >.Replace What:="([0-90-9Э  ])mL$", Replacement:="$1㎖"
        ↓
  .Replace What:="([0-90-9Э  ])" & ChrW(13206) & "$", Replacement:="$1㎖"
 のような形で。
(ねむねむ) 2017/09/22(金) 17:14

>A列(置換前文字列)B列(置換後文字列)という別ブックに保存した
>置換リストを利用して、納品されたブックを置換したかったのですが、
>難しく、断念しました。

試してみたコードを教えていただけますか。
リストを利用するほうがよいと思います。
現在の問題も、関係なくなるはず。

(マナ) 2017/09/23(土) 00:02


お二方のご指摘のとおりかと思います。
ところで、いつから Replaceメソッドは正規表現を実装したのでしょう。
こうなると便利は便利かもしれないが。
(γ) 2017/09/23(土) 05:40

お世話になっております。
みなさま、ありがとうございます。

ねむねむ様
.Replace What:="([0-90-9Э  ])" & ChrW(13206) & "$", Replacement:="$1㎖"
を試していますが、↑右側の「㎖」が貼り付けた時点で「?」となります。

.Replace What:="([0-90-9Э  ])" & ChrW(13206) & "$", Replacement:="$1" & ChrW(13206)
としてみましたが、全文字「〜」となり、うまくいきません。

文字($1等)と並べるには""と&を使用する、と解釈して試行錯誤しています。
(今は""をどこで使うか、パターンをいくつか試しています)

マナ様
コードは上書きしてしまいました。
リストのブックを開いて終了、となってしまい、断念。
残っているか、もう少し探してみます。

(まる) 2017/09/25(月) 14:25


 すまない、逆だったか。
 左ではなく右だけを置き換えてくれ。

(ねむねむ) 2017/09/25(月) 15:41


発言が伝わらなかったようです。
Selection.Replace What:="([0-90-9Э  ])mL$", Replacement:="$1" & ChrW(13206)
は、どのような置換ができると思っていますか?
 
正規表現の文法のようですが、RangeのReplaceメソッドにはそうした機能はありません。
set re = CreateObject("VBScript.RegExp")などとして、
このオブジェクトを使う必要があります。
 
# 投稿テストを兼ねています。
(γ) 2017/09/26(火) 21:32

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.