Пользовательская функция (UDF) для перевода ФИО (фамилии, имя, отчества) в дательный падеж.
Эту функцию можно использовать как в коде программы, так и как формулу в ячейках листа Excel
(см. пример в прикреплённом файле)
PS: Функцию написал не я - нашел на просторах интернета несколько примеров кода, и переработал код для уменьшения количества ошибок при склонении.
Тестировал склонение на списке разнообразных ФИО (см. первый столбец в прикреплённом файле), и заведомо корректных результатах склонения (третий столбец)
Конечно, код не идеальный, - всегда можно найти ФИО, которые будут склоняться неверно.
Но, в целом, удалось добиться весьма неплохого результата (по сравнению с прежней версией кода, и другими аналогичными функциями)
Если вы используете функции склонения для формирования документов,
обратите внимание на специализированную надстройку FillDocuments,
которая позволит вам одним нажатием кнопки создать документы Word и Excel по шаблонам, а также выполнить рассылку писем.
В указанную надстройку включены самые последние версии функций склонения.
Пример использования:
Sub ПереводФИОвДательныйПадеж()
' если фамилия, имя и отчество - в одной переменной (или ячейке)
FIO$ = "Сидоров Иван Скотиныч"
ДательныйПадеж$ = DativeCase(FIO$)
Debug.Print ДательныйПадеж$ ' результат: Сидорову Ивану Скотинычу
' если фамилия, имя и отчество - в разных переменных (или ячейках)
Кому$ = DativeCase("Андреева", "Ольга", "Федоровна")
Debug.Print Кому$ ' результат: Андреевой Ольге Федоровне
End Sub
Код функции DativeCase (новая версия, от 29 января 2013 года):