В настоящее время я сопоставляю некоторые адреса из одного листа Excel в другой, для этого требуется, чтобы я делал определенные вещи, такие как изменение порядка столбцов, удаление дублирующихся строк и разрезание страницы на листы из 100 строк ... Мне также нужно заменитьнестандартные символы с их ближайшим английским эквивалентом.
У меня есть немного кода для этого, и он работает нормально, но очень медленно, выглядит так:
Sub ReplaceCharacters()
'Replaces special characters for English
Dim rCell As Range
For Each rCell In ActiveSheet.Range("A1:H10000").SpecialCells(xlCellTypeConstants, xlTextValues).Cells
With rCell
.Value = Application.WorksheetFunction.Substitute(.Value, "Á", "A")
.Value = Application.WorksheetFunction.Substitute(.Value, "Å", "A")
.Value = Application.WorksheetFunction.Substitute(.Value, "á", "a")
.Value = Application.WorksheetFunction.Substitute(.Value, "å", "a")
.Value = Application.WorksheetFunction.Substitute(.Value, "ð", "D")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ð", "D")
.Value = Application.WorksheetFunction.Substitute(.Value, "É", "E")
.Value = Application.WorksheetFunction.Substitute(.Value, "é", "e")
.Value = Application.WorksheetFunction.Substitute(.Value, "í", "i")
.Value = Application.WorksheetFunction.Substitute(.Value, "Í", "I")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ó", "O")
.Value = Application.WorksheetFunction.Substitute(.Value, "ó", "o")
.Value = Application.WorksheetFunction.Substitute(.Value, "ú", "u")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ý", "Y")
.Value = Application.WorksheetFunction.Substitute(.Value, "ý", "y")
.Value = Application.WorksheetFunction.Substitute(.Value, "Þ", "Th")
.Value = Application.WorksheetFunction.Substitute(.Value, "þ", "th")
.Value = Application.WorksheetFunction.Substitute(.Value, "Æ", "AE")
.Value = Application.WorksheetFunction.Substitute(.Value, "æ", "ae")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ø", "O")
.Value = Application.WorksheetFunction.Substitute(.Value, "ø", "o")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ö", "O")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ä", "A")
.Value = Application.WorksheetFunction.Substitute(.Value, "ä", "a")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ü", "U")
.Value = Application.WorksheetFunction.Substitute(.Value, "À", "A")
.Value = Application.WorksheetFunction.Substitute(.Value, "à", "a")
.Value = Application.WorksheetFunction.Substitute(.Value, "È", "E")
.Value = Application.WorksheetFunction.Substitute(.Value, "è", "e")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ì", "I")
.Value = Application.WorksheetFunction.Substitute(.Value, "ì", "i")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ò", "O")
.Value = Application.WorksheetFunction.Substitute(.Value, "ò", "o")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ù", "U")
.Value = Application.WorksheetFunction.Substitute(.Value, "ù", "u")
.Value = Application.WorksheetFunction.Substitute(.Value, "ç", "c")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ç", "C")
.Value = Application.WorksheetFunction.Substitute(.Value, "Â", "A")
.Value = Application.WorksheetFunction.Substitute(.Value, "â", "a")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ê", "E")
.Value = Application.WorksheetFunction.Substitute(.Value, "ê", "e")
.Value = Application.WorksheetFunction.Substitute(.Value, "Î", "I")
.Value = Application.WorksheetFunction.Substitute(.Value, "î", "i")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ô", "O")
.Value = Application.WorksheetFunction.Substitute(.Value, "ô", "o")
.Value = Application.WorksheetFunction.Substitute(.Value, "Û", "U")
.Value = Application.WorksheetFunction.Substitute(.Value, "û", "u")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ñ", "N")
.Value = Application.WorksheetFunction.Substitute(.Value, "ñ", "n")
.Value = Application.WorksheetFunction.Substitute(.Value, "Õ", "O")
.Value = Application.WorksheetFunction.Substitute(.Value, "õ", "o")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ã", "A")
.Value = Application.WorksheetFunction.Substitute(.Value, "ã", "a")
.Value = Application.WorksheetFunction.Substitute(.Value, "É", "E")
.Value = Application.WorksheetFunction.Substitute(.Value, "é", "e")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ë", "E")
.Value = Application.WorksheetFunction.Substitute(.Value, "ë", "e")
.Value = Application.WorksheetFunction.Substitute(.Value, "Í", "I")
.Value = Application.WorksheetFunction.Substitute(.Value, "í", "i")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ï", "I")
.Value = Application.WorksheetFunction.Substitute(.Value, "ï", "i")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ö", "O")
.Value = Application.WorksheetFunction.Substitute(.Value, "ö", "o")
.Value = Application.WorksheetFunction.Substitute(.Value, "Õ", "O")
.Value = Application.WorksheetFunction.Substitute(.Value, "õ", "o")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ú", "U")
.Value = Application.WorksheetFunction.Substitute(.Value, "ú", "u")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ü", "U")
.Value = Application.WorksheetFunction.Substitute(.Value, "ü", "u")
.Value = Application.WorksheetFunction.Substitute(.Value, "Ÿ", "Y")
.Value = Application.WorksheetFunction.Substitute(.Value, "ÿ", "y")
.Value = Application.WorksheetFunction.Substitute(.Value, "ß", "ss")
.Value = Application.WorksheetFunction.Substitute(.Value, "œ", "oe")
End With
Next rCell
End Sub
IИнтересно, есть ли более быстрый способ добиться того же конечного результата замены нестандартных символов на их английские эквиваленты?
Кроме того, я не могу понять, как попросить код просто сэмплировать всеактивных строк, поэтому мне нужно переоценить количество строк: ActiveSheet.Range ("A1: H10000"). SpecialCells (xlCellTypeConstants, xlTextValues) .Cells
Любые идеи, как просто заставить его изменить все активные строкина листе?
Большое спасибо, я очень новичок в этом: D