- ベストアンサー
Excelの置換で書式が変わる現象の回避策
下記のようなマクロで複数の置換をしています。 Cells.Replace What:="★", Replacement:="☆", MatchCase:=True Cells.Replace What:="◆", Replacement:="◇", MatchCase:=True Cells.Replace What:="■", Replacement:="□", MatchCase:=True ・ ・ ・ セル内で改行して文字サイズや色を変えている箇所では置換後1行目の書式に変わってしまいます。 文字だけを置換をしたいのですがこれを回避する方法はあるのでしょうか教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
一括の置換では,文字ごとの修飾を保持できません。 たとえば次のように,丁寧に文字ごと書き換えていかなければいけません。 sub macro1() dim a,b,i dim h as range a = array("★","●","■") b = array("☆","○","□") for i = 0 to ubound(a) set h = cells.find(what:=a(i), lookat:=xlpart) do until h is nothing h.characters(instr(1, h.value,a(i)), 1).text = b(i) set h = cells.findnext(h) loop next i end sub
お礼
まさかこんなに面倒なソースになるとは思いませんでしたが、大変助かりました。 ありがとうございます。