2016-09-14 6 views
0

enter image description hereなぜセルの書式が削除されますか?私は値を置き換えたいだけですが、セル内のすべての単語から下線を削除します。replace関数は書式設定を削除します。

For Each sht In ActiveWorkbook.Worksheets 
     sht.Cells.Replace what:=fnd, Replacement:=rplc, _ 
     LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _ 
     SearchFormat:=False, ReplaceFormat:=False 
    Next sht​ 
+1

を試すことができます私は、Excel 2013で複製することはできません。サンプルセルをスクリーンショットできますか? – Comintern

+0

@Comintern – johndoe253

答えて

1

Excel 2007のように、セル全体の値が置き換えられます。交換する値は、フォーマットの間にある場合は、セルの値をXMLにそれを交換することができるかもしれない:

Dim r As Range, s As String 
Set r = sht.UsedRange.Find(fnd) 
s = r.Value(11) ' Excel.XlRangeValueDataType.xlRangeValueXMLSpreadsheet = 11 
s = Replace(s, ">" & fnd & "<", ">" & rplc & "<") 
r.Value(11) = s 

をそうしないと、このhttp://www.mrexcel.com/forum/excel-questions/524889-find-replace-loses-text-properties-formatting.html

Dim r As Range, i As Integer 
Set r = sht.UsedRange.Find(fnd) 
i = InStr(r.Characters.Text, fnd) 
r.Characters(i, Len(fnd)).Insert rplc 
+0

の前後にセルのスクリーンショットをアップロードしました。私はそれを試しましたが、フォーマットを維持しようとしていません。どのように影響を受けるかのスクリーンショットをアップロードしました。 – johndoe253

関連する問題