Подскажите пожалуйста, есть столбец с цифрами и буквами типа “00566СDН” или “LGО” где буквы C, О, H могут быть как Русскими так и английскими, можно желательно формулами или макросами в соседние 2 столбца вывести варианты, первый столбец все похожие буквы заменить на английские, во втором столбце все похожие буквы заменить на русские. Может темы были уже помогите пожалуйста?
Доброго времени суток!
Подскажите пожалуйста, есть столбец с цифрами и буквами типа “00566СDН” или “LGО” где буквы C, О, H могут быть как Русскими так и английскими, можно желательно формулами или макросами в соседние 2 столбца вывести варианты, первый столбец все похожие буквы заменить на английские, во втором столбце все похожие буквы заменить на русские. Может темы были уже помогите пожалуйста?dfysdbu
Давно уже сделал (и, кажется, здесь это уже выкладывал в "Готовых решениях") пару макросов для борьбы с "трудами плодов" паразитов, которым лень переключать раскладку клавиатуры для ввода одинаковых на взгляд букв латиницы и кириллицы
Sub Repair_RUS() ' заменить в не скрытых ячейках выделенного диапазона латинские буквы такими же по начертанию русскими With ActiveSheet.UsedRange If Intersect(ActiveWindow.RangeSelection, .SpecialCells(xlCellTypeVisible), .SpecialCells(xlCellTypeConstants)) IsNothingThenExitSub
Application.ScreenUpdating = False: Application.EnableEvents = False Dim LATChr$: LATChr = "CcEeTOopPAaHKkXxBM" Dim RUSChr$: RUSChr = "СсЕеТОорРАаНКкХхВМ" Dim i% For i = 1ToLen(LATChr)
Intersect(ActiveWindow.RangeSelection, .SpecialCells(xlCellTypeVisible), .SpecialCells(xlCellTypeConstants)).Replace _
What:=Mid(LATChr, i, 1), Replacement:=Mid(RUSChr, i, 1), LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True Next i EndWith
Application.ScreenUpdating = True: Application.EnableEvents = True EndSub
И в обратную сторону:
Sub Repair_LAT() ' заменить в не скрытых ячейках выделенного диапазона русские буквы такими же по начертанию латинскими With ActiveSheet.UsedRange If Intersect(ActiveWindow.RangeSelection, .SpecialCells(xlCellTypeVisible), .SpecialCells(xlCellTypeConstants)) IsNothingThenExitSub
Application.ScreenUpdating = False: Application.EnableEvents = False Dim arrENG: arrENG = Split("C c E e T O o p P A a H K k X x B M") Dim arrRUS: arrRUS = Split("С с Е е Т О о р Р А а Н К к Х х В М") Dim i% For i = 0ToUBound(arrENG)
Intersect(ActiveWindow.RangeSelection, .SpecialCells(xlCellTypeVisible), .SpecialCells(xlCellTypeConstants)).Replace _
What:=arrRUS(i), Replacement:=arrENG(i), LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True Next i EndWith
Application.ScreenUpdating = True: Application.EnableEvents = True EndSub
Давно уже сделал (и, кажется, здесь это уже выкладывал в "Готовых решениях") пару макросов для борьбы с "трудами плодов" паразитов, которым лень переключать раскладку клавиатуры для ввода одинаковых на взгляд букв латиницы и кириллицы
Sub Repair_RUS() ' заменить в не скрытых ячейках выделенного диапазона латинские буквы такими же по начертанию русскими With ActiveSheet.UsedRange If Intersect(ActiveWindow.RangeSelection, .SpecialCells(xlCellTypeVisible), .SpecialCells(xlCellTypeConstants)) IsNothingThenExitSub
Application.ScreenUpdating = False: Application.EnableEvents = False Dim LATChr$: LATChr = "CcEeTOopPAaHKkXxBM" Dim RUSChr$: RUSChr = "СсЕеТОорРАаНКкХхВМ" Dim i% For i = 1ToLen(LATChr)
Intersect(ActiveWindow.RangeSelection, .SpecialCells(xlCellTypeVisible), .SpecialCells(xlCellTypeConstants)).Replace _
What:=Mid(LATChr, i, 1), Replacement:=Mid(RUSChr, i, 1), LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True Next i EndWith
Application.ScreenUpdating = True: Application.EnableEvents = True EndSub
И в обратную сторону:
Sub Repair_LAT() ' заменить в не скрытых ячейках выделенного диапазона русские буквы такими же по начертанию латинскими With ActiveSheet.UsedRange If Intersect(ActiveWindow.RangeSelection, .SpecialCells(xlCellTypeVisible), .SpecialCells(xlCellTypeConstants)) IsNothingThenExitSub
Application.ScreenUpdating = False: Application.EnableEvents = False Dim arrENG: arrENG = Split("C c E e T O o p P A a H K k X x B M") Dim arrRUS: arrRUS = Split("С с Е е Т О о р Р А а Н К к Х х В М") Dim i% For i = 0ToUBound(arrENG)
Intersect(ActiveWindow.RangeSelection, .SpecialCells(xlCellTypeVisible), .SpecialCells(xlCellTypeConstants)).Replace _
What:=arrRUS(i), Replacement:=arrENG(i), LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True Next i EndWith
Application.ScreenUpdating = True: Application.EnableEvents = True EndSub