Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Имена с латиницы на Кириллицу - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Имена с латиницы на Кириллицу (Макросы/Sub)
Имена с латиницы на Кириллицу
dimakdd Дата: Воскресенье, 12.11.2017, 18:16 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте. Для сайта Википедия нужен скрипт. Требуется около 100 фамилий биатлонистов "переделать" с латиницы (и не только) на кириллицу. Нужно именно по принципу:

Martin Fourcade - Мартен Фуркад
Björn Ferry - Бьёрн Ферри
Ole Einar Bjørndalen - Уле-Эйнар Бьёрндален

Вдобавок, в зависимости от гонки фамилии могут меняться местами.

Т.е. нужно что-то вроде массовой замены "Найти" и "Заменить на".

У кого-нибудь есть идеи? Спасибо :))
 
Ответить
СообщениеЗдравствуйте. Для сайта Википедия нужен скрипт. Требуется около 100 фамилий биатлонистов "переделать" с латиницы (и не только) на кириллицу. Нужно именно по принципу:

Martin Fourcade - Мартен Фуркад
Björn Ferry - Бьёрн Ферри
Ole Einar Bjørndalen - Уле-Эйнар Бьёрндален

Вдобавок, в зависимости от гонки фамилии могут меняться местами.

Т.е. нужно что-то вроде массовой замены "Найти" и "Заменить на".

У кого-нибудь есть идеи? Спасибо :))

Автор - dimakdd
Дата добавления - 12.11.2017 в 18:16
RAN Дата: Воскресенье, 12.11.2017, 18:27 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4602
Репутация: 925 ±
Замечаний: 0% ±

2010
Функции, способные
"переделать" с латиницы (и не только) на кириллицу

в основном, называются "транслит".
Ищите, и обрящете.
Правда, как с использованием транслита изобразить Fernand Renault, большой вопрос.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеФункции, способные
"переделать" с латиницы (и не только) на кириллицу

в основном, называются "транслит".
Ищите, и обрящете.
Правда, как с использованием транслита изобразить Fernand Renault, большой вопрос.

Автор - RAN
Дата добавления - 12.11.2017 в 18:27
buchlotnik Дата: Воскресенье, 12.11.2017, 19:07 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3325
Репутация: 886 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Хм... а по какому принципу Ole Einar превращается в Уле-Эйнар (через дефис). Что-то подсказывает, что для
Цитата
100 фамилий
проще ручками таблицу соответствий сделать, чем заморачиваться на скрипты под разные языки


каждому For - Next!
платная помощь:
ЯД: 410012595572239
buchlotnik@mail.ru
 
Ответить
СообщениеХм... а по какому принципу Ole Einar превращается в Уле-Эйнар (через дефис). Что-то подсказывает, что для
Цитата
100 фамилий
проще ручками таблицу соответствий сделать, чем заморачиваться на скрипты под разные языки

Автор - buchlotnik
Дата добавления - 12.11.2017 в 19:07
dimakdd Дата: Воскресенье, 12.11.2017, 22:27 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Ой, СПАСИБО за оперативность. Уже РЕШИЛ проблему. Просто думал, что у меня уникально-сложная ситуация. Оказалось всё просто - ответы с этой темы натолкнули меня на идеи, и вот здесь моя проблема решена:

Макрос-переводчик
http://www.planetaexcel.ru/techniques/7/56/

Создаём Excel-документ. В документе создаём "вторую книгу". Во второй книге, в столбце "А" прописываем фамилии на языке-оригинале. В столбце "B" прописываем фамилии так, как хотим их видеть на русском.
Копируем фамилии из pdf-документа с результатами гонок, вставляем в "первую книгу" документа, создаём и запускаем нижеследующий макрос:

[vba]
Код
Sub Translate()
Dim cell1 as Range, cell2 As Range
Dim i as Long, Langs As Long

Langs = 3 'количество языков перевода, включая русский

For Each cell1 In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)
For Each cell2 In Worksheets("Словарь").Cells.SpecialCells(xlCellTypeConstants)
If cell1.Value = cell2.Value Then
i = cell2.Column
If i = Langs Then i = 1 Else i = i + 1
cell1.Value = Worksheets("Словарь").Cells(cell2.Row, i).Value
GoTo 1
End If
Next cell2
1:   Next cell1

End Sub
[/vba]


Сообщение отредактировал dimakdd - Воскресенье, 12.11.2017, 22:42
 
Ответить
СообщениеОй, СПАСИБО за оперативность. Уже РЕШИЛ проблему. Просто думал, что у меня уникально-сложная ситуация. Оказалось всё просто - ответы с этой темы натолкнули меня на идеи, и вот здесь моя проблема решена:

Макрос-переводчик
http://www.planetaexcel.ru/techniques/7/56/

Создаём Excel-документ. В документе создаём "вторую книгу". Во второй книге, в столбце "А" прописываем фамилии на языке-оригинале. В столбце "B" прописываем фамилии так, как хотим их видеть на русском.
Копируем фамилии из pdf-документа с результатами гонок, вставляем в "первую книгу" документа, создаём и запускаем нижеследующий макрос:

[vba]
Код
Sub Translate()
Dim cell1 as Range, cell2 As Range
Dim i as Long, Langs As Long

Langs = 3 'количество языков перевода, включая русский

For Each cell1 In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)
For Each cell2 In Worksheets("Словарь").Cells.SpecialCells(xlCellTypeConstants)
If cell1.Value = cell2.Value Then
i = cell2.Column
If i = Langs Then i = 1 Else i = i + 1
cell1.Value = Worksheets("Словарь").Cells(cell2.Row, i).Value
GoTo 1
End If
Next cell2
1:   Next cell1

End Sub
[/vba]

Автор - dimakdd
Дата добавления - 12.11.2017 в 22:27
dimakdd Дата: Четверг, 16.11.2017, 12:56 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
И позвольте ещё помощь. Я просто в Макросах Excel, на ДАННЫЙ МОМЕНТ, вообще не понимаю. Однако добрые дела делать хочется, например, для Википедии. Там реально люди тратят по 2 часа, чтобы ВРУЧНУЮ набрать результаты ОДНОЙ ГОНКИ. Используя Макросы Excel эту же задачу можно решить за 5-10 минут.

Как улучшить вышеуказанный скрипт для следующей базовой цели:
Есть excel-документ. В нём 4 листа ("Лист1", "Мужчины", "Женщины", "Флаги"). На Лист1 я ввёл фамилию биатлонистки "CHEVALIER ANAIS". Нужно, чтобы Макрос видел эту фамилию при том, что "База данных" с этой фамилией расположена на третьем листе (т.е. на листе "Женщины").

И 2 коротких вопроса:

1. Как увеличить у Макроса "зону просмотра столбцов" ?? Т.е. этот Макрос "просматривает" только 3 столбца на листе "Словарь" и потом возвращаеться к 1-му столбцу этого же листа. Нужно, чтобы "просматривал" хотя бы 5 столбцов, И НЕ возвращался к 1-му столбцу

2. Что будет, если убрать из макроса строчку:
Langs = 3 'количество языков перевода, включая русский
Бывает, что при "переводе" языков распознования будет 1 (английский), или до 5 (англ, русский, французский, немецкий, норвежский).
К сообщению приложен файл: Wikipedia_.xls(81Kb)


Сообщение отредактировал dimakdd - Четверг, 16.11.2017, 12:59
 
Ответить
СообщениеИ позвольте ещё помощь. Я просто в Макросах Excel, на ДАННЫЙ МОМЕНТ, вообще не понимаю. Однако добрые дела делать хочется, например, для Википедии. Там реально люди тратят по 2 часа, чтобы ВРУЧНУЮ набрать результаты ОДНОЙ ГОНКИ. Используя Макросы Excel эту же задачу можно решить за 5-10 минут.

Как улучшить вышеуказанный скрипт для следующей базовой цели:
Есть excel-документ. В нём 4 листа ("Лист1", "Мужчины", "Женщины", "Флаги"). На Лист1 я ввёл фамилию биатлонистки "CHEVALIER ANAIS". Нужно, чтобы Макрос видел эту фамилию при том, что "База данных" с этой фамилией расположена на третьем листе (т.е. на листе "Женщины").

И 2 коротких вопроса:

1. Как увеличить у Макроса "зону просмотра столбцов" ?? Т.е. этот Макрос "просматривает" только 3 столбца на листе "Словарь" и потом возвращаеться к 1-му столбцу этого же листа. Нужно, чтобы "просматривал" хотя бы 5 столбцов, И НЕ возвращался к 1-му столбцу

2. Что будет, если убрать из макроса строчку:
Langs = 3 'количество языков перевода, включая русский
Бывает, что при "переводе" языков распознования будет 1 (английский), или до 5 (англ, русский, французский, немецкий, норвежский).

Автор - dimakdd
Дата добавления - 16.11.2017 в 12:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Имена с латиницы на Кириллицу (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!