Добрый день!
Перекодирование латиница-кириллица тема избитая, есть много рабочих макросов. Использую такой, см. ниже.
Мне бы хотелось видеть Msgbox с полной информацией, сколько каких символов было заменено.
Последовательным перебором сделать несложно: вначале посчитать замены "a", потом "c" и т.д.
Через Find или циклом, но это медленно и некрасиво. Можно как-то поизящнее?
Перекодирование латиница-кириллица тема избитая, есть много рабочих макросов. Использую такой, см. ниже.
Мне бы хотелось видеть Msgbox с полной информацией, сколько каких символов было заменено.
Последовательным перебором сделать несложно: вначале посчитать замены "a", потом "c" и т.д.
Через Find или циклом, но это медленно и некрасиво. Можно как-то поизящнее?
Код |
---|
Private Sub Replace_Latin_to_Russian() Eng = "ABEKMHOPCTYXBabekmhopctyxbr" Rus = "АВЕКМНОРСТУХЬавекмнорстухьг" For Each cell In ActiveSheet.UsedRange If cell <> "" Then For i = 1 To Len(cell) c1 = Mid(cell, i, 1) If c1 Like "[" & Eng & "]" Then z = z + 1 c2 = Mid(Rus, InStr(1, Eng, c1), 1) cell.Value = Replace(cell, c1, c2) End If Next i End If Next cell Msgbox ("Количество замен: " & z) 'Msgbox ("Количество замен по символам: " ) ??? End Sub |