所以我有一大组数据,其中一列中有一个数据字段,我需要根据某个字符将其设置为斜体。如果一个单词以 $ 开头并以 & 结尾,则需要将其斜体化,例如单元格可以包含以下 $Text1& (Text2)。格式化后,我需要它看起来像这样:Text1(Text2)。我尝试了几种不同的格式化方法,但每次我找到并替换所有 $ 和 & 时,它要么使单元格中的所有内容都变成斜体,要么什么都不显示。
我尝试过VBA、Python,似乎每次都会遇到同样的问题。
假设每个单元格中最多有一对标记($ &),但不超过一对。
Option Explicit
Sub demo()
Dim dataRng As Range, c As Range, sTxt
Dim Index1 As Integer, Index2 As Integer
Set dataRng = ActiveSheet.Range("A1:A3") ' Update as needed
For Each c In dataRng
sTxt = c.Text
Index1 = InStr(sTxt, "$")
Index2 = InStr(sTxt, "&")
If Index1 * Index2 > 0 And Index2 > Index1 Then
c.Value = Replace(Replace(sTxt, "$", ""), "&", "")
c.Characters(Index1, Index2 - 2).Font.Italic = True
End If
Next
End Sub