是否有更快的方法来替换重音字符?

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

我有这段代码可以替换除第6行以外的所有重音字符。但是,此宏要花很长时间,因为它遍历每个单元格/字母,有什么方法可以通过使其忽略那些不包含它们的单元格来使其更快。没有任何口音吗?

Const sFm As String = "ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿ"
Const sTo As String = "SZszYAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyy"

Dim i As Long, employeews As Worksheet
Dim rowsix() As Variant

Set employeews = DestWb.Sheets(1)

'Don't replace row 6
rowsix = employeews.Rows(6).Value


For i = 1 To Len(sFm)
    employeews.Cells.Replace Mid(sFm, i, 1), Mid(sTo, i, 1), LookAt:=xlPart, MatchCase:=True
Next i

employeews.Rows(6).Value = rowsix
excel vba diacritics
1个回答
0
投票

通过添加注释作为答案,使代码更易读:

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