0
我正在製作一個在所有圖表標題中進行簡單替換的宏。它的工作原理非常好,但抑制所有格式:斜體,粗體,... 下面是代碼:VBA Excel:查找並替換圖表標題
Function trouverItalique(ByRef g As ChartObject)
Dim phrase As String
For i = 0 To Len(g.Chart.ChartTitle.Text)
If InStr(g.Chart.ChartTitle.Characters(i, 1).Font.FontStyle, "Italic") > 0 Then
phrase = phrase & g.Chart.ChartTitle.Characters(i, 1).Text
End If
Next
trouverItalique = phrase
End Function
Private Sub CommandButton1_Click()
Dim char As ChartObject
For Each s In ActiveWorkbook.Worksheets
For Each char In s.ChartObjects
If char.Chart.HasTitle Then
Dim phrase As String
'phrase = trouverItalique(char)
'char.Chart.ChartArea.AutoScaleFont = False
char.Chart.ChartTitle.Characters.Text = replace(char.Chart.ChartTitle.Characters.Text, TextBox1.Text, TextBox2.Text)
Dim index As Integer
'index = InStr(char.Chart.ChartTitle.Characters.Text, phrase)
'char.Chart.ChartTitle.Characters(index, Len(phrase)).Font.Italic = True
End If
Next
Next
End Sub
它僅適用於某些情況下,只爲保持斜體,我想保持大膽其他格式。你有沒有想法讓我的代碼適用於任何情況?如果沒有我的所有行程,我是否會錯過一個很酷的機制去做同樣的事情?
謝謝了很多,我甚至沒有想到這樣的方法,它的工作原理。 – Uranne 2014-10-14 07:40:54