| 
    
     |  | Replaceメソッドを使って、9'9を9-9に変換したいのですが、下記コードではうまくできません。 9-9が日付形式に変化して、表示形式をうまくコントロールできないです。
 
 Sub test() '9'9を9-9に変換
 置換 Selection, "'", "-"
 End Sub
 
 Sub 置換(MyRange As Range, Str1 As String, Str2 As String)  'Str1 ==> Str2
 '9-9が日付形式に変化して、表示形式をうまくコントロールできない
 MyRange.NumberFormatLocal = "@"  '表示形式 文字列
 MyRange.Replace What:=Str1, Replacement:=Str2 _
 , LookAt:=xlPart, SearchOrder:=xlByRows _
 , MatchCase:=False, SearchFormat:=False _
 , ReplaceFormat:=True
 ', ReplaceFormat:=False
 End Sub
 
 ヘルプより
 ReplaceFormat  省略可能です。バリアント型 (Variant) の値を使用します。
 メソッドの置換書式を指定します。
 に関係するのかなと思って
 ReplaceFormat:=True
 にしても9-9が日付形式に変化してしまいます。
 Replaceメソッドを使った場合無理なのでしょうか。
 
 |  |