Excel中有没有办法删除某些字符而不丢失格式?

问题描述 投票:0回答:1

所以我有一大组数据,其中一列中有一个数据字段,我需要根据某个字符将其设置为斜体。如果一个单词以 $ 开头并以 & 结尾,则需要将其斜体化,例如单元格可以包含以下 $Text1& (Text2)。格式化后,我需要它看起来像这样:Text1(Text2)。我尝试了几种不同的格式化方法,但每次我找到并替换所有 $ 和 & 时,它要么使单元格中的所有内容都变成斜体,要么什么都不显示。

我尝试过VBA、Python,似乎每次都会遇到同样的问题。

python excel vba macros
1个回答
0
投票

假设每个单元格中最多有一对标记($ &),但不超过一对。

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

© www.soinside.com 2019 - 2024. All rights reserved.