Мужской род | Женский род | Множественной число | |
Фамилии на -ов/ев, -ин/ын, -ский/ской, -цкий/цкой | Петрова, Пшеницына, Чацкого, Боровского | Петровой, Пшеницыной, Чацкой, Боровской | Петровых, Пшеницыных, Чацких, Боровских |
Фамилии, созвучные прилагательным | Черного, Крымского, Толстого, Лихого | Черной, Крымской, Толстой, Лихой | Черных, Крымских, Толстых, Лихих |
Фамилии, созвучные существительным (в том числе иноязычные без ударения на последний слог) | Мельника, Короля, Ворона (созвучные существительным мужского рода 2 склонения) | Мельник, Король, Ворон | Мельник, Король, Ворон |
Пятницы, Кафки, Земли (созвучные существительным женского рода 1 склонения) | Пятницы, Кафки, Земли
| Пятница, Кафка, Земля
| |
Фамилии с беглыми гласными | Льва, Зайца | Лев, Заяц | Лев, Заяц |
Двойные фамилии
| Соловьева-Седого, Ткач-Преображенского | Соловьевой-Седой, Ткач-Преображенской | Соловьевых-Седых Ткач-Преображенских |
obrazovaka.ru
Дательный падеж ФИО — Rus-learn.com
Особенности склонения ФИО в дательном падеже
Форму дательного падежа в русском языке имеют фамилии, имена и отчества, конечные элементы которых поддаются русскому словоизменению (то есть, склоняемые собственные существительные):
- Фамилии, созвучные нарицательным существительным мужского рода (Мельник, Блок). Однако такие женские фамилии в дательном падеже не склоняются (Ветер Екатерине Сергеевне).
- Фамилии, созвучные существительным женского рода (Суббота, Щерба).
- Фамилии на -ов/ев, -ин/ын, -ский/ской, -цкий/цкой (Воробьев, Молодецкий).
- Фамилии, созвучные с прилагательными (Черный, Толстой).
- Имена с окончанием -а (-я), а также с основой на согласный и нулевым окончанием (Зинаида, Петр, Любовь)
- Отчества на -ович (-овна), -евич (-евна), -ич (-ична) (Иванович, Саввична).
Несклоняемые фамилии и имена в дательном падеже имеют форму, омонимичную их начальной форме (отдать книгу Франсуа Монтре).
Дательный падеж ФИО в примерах: обратиться к Чайке Василисе Георгиевне, подарить Суворову Никите Борисовичу, Шацкому Матвею Сергеевичу не работается, письмо Дюма Александру Павловичу, поручить Городецкой Анетт Жоржевне.
Окончания ФИО в дательном падеже
Единственное число | Множественное число | |
Мужской род | Громову Эдуарду СергеевичуМедведю Федору Петровичу Савицкому ЕвгениюАлександрович у Лихому Виктору Никитичу Россини Джоаккино Анатольевичу | Громовым Эдуардам СергеевичамМедведь Федорам Петровичам Савицким Евгениям Александровичам Лихим Викторам Никитичам Россини Джоаккино Анатольевичам |
Женский род | Громовой Людмиле СергеевнеМедведь Наталье Петровне Савицкой Екатерине Александровне Лихой Милене Никитичне Россини Софи Анатольевне | Громовым Людмилам Савицким Екатеринам Александровнам Лихим Миленам Никитичнам Россини Софи Анатольевнам |
rus-learn.com
Пользовательская функция (UDF) для перевода ФИО (фамилии, имя, отчества) в дательный падеж.
Эту функцию можно использовать как в коде программы, так и как формулу в ячейках листа Excel PS: Функцию написал не я — нашел на просторах интернета несколько примеров кода, и переработал код для уменьшения количества ошибок при склонении. Конечно, код не идеальный, — всегда можно найти ФИО, которые будут склоняться неверно. Если вы используете функции склонения для формирования документов, В указанную надстройку включены самые последние версии функций склонения. Пример использования: Sub ПереводФИОвДательныйПадеж() ' если фамилия, имя и отчество - в одной переменной (или ячейке) FIO$ = "Сидоров Иван Скотиныч" ДательныйПадеж$ = DativeCase(FIO$) Debug.Print ДательныйПадеж$ ' результат: Сидорову Ивану Скотинычу ' если фамилия, имя и отчество - в разных переменных (или ячейках) Кому$ = DativeCase("Андреева", "Ольга", "Федоровна") Debug.Print Кому$ ' результат: Андреевой Ольге Федоровне End Sub Код функции DativeCase (новая версия, от 29 января 2013 года): Option Compare Text ' эта строка нужна обязательно! (сравнение без учёта регистра) Function DativeCase(sSurname$, Optional sName$, Optional sPatronymic$) As String ' Функция формирует дательный падеж из ФИО ' Параметры: sSurname - фамилия, sName - имя, sPatronymic - отчество ' © 2013 EducatedFool Application.Volatile True ' автопересчёт формулы на листе sSurname$ = Replace(sSurname$, " - ", "-"): sSurname$ = Replace(Replace(sSurname$, " -", "-"), "- ", "-") On Error Resume Next If sName$ = "" And sPatronymic$ = "" Then arr = Split(Application.Trim(sSurname$)) sSurname$ = arr(0): sName$ = arr(1): sPatronymic$ = Replace(arr(2), ".", "") End If ' пол теперь определяется иначе: что заканчивается на "вна" или "кызы" - то женщины, остальные - мужчины. Dim bMaleSex As Boolean: ' bMaleSex = (Right(sPatronymic, 1) = "ч" Or Right(sPatronymic, 4) = "оглы") bMaleSex = Not (Right(sPatronymic, 2) = "на" Or Right(sPatronymic, 4) = "кызы") If Len(sSurname) > 0 Then ' Фамилия arrSurname = Split(sSurname, "-") For i = LBound(arrSurname) To UBound(arrSurname) ' перебираем все части фамилий, содержащих дефис sRes = "": sSurnamePart = arrSurname(i) If bMaleSex Then ' мужские фамилии Select Case Right(sSurnamePart, 1) Case "о", "и", "ы", "у", "э", "е", "ю": sRes = sSurnamePart Case "ь", "й": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "ю" Case "я", "а": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "е" If UBound(arrSurname) > 0 And i = 0 Then sRes = sSurnamePart Case Else: sRes = sSurnamePart & "у" End Select Select Case Right(sSurnamePart, 2) ' добавлено, для редких фамилий Case "ец": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "цу" If LCase(sSurnamePart) Like "*[уеыаоэяиюё]ец" Then sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "цу" If LCase(sSurnamePart) Like "*[!уеыаоэяиюё][!уеыаоэяиюё]ец" Then sRes = sSurnamePart & "у" Case "зе", "их", "ых": sRes = sSurnamePart Case "ый": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "ому" Case "ий", "ой": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "ому" If Len(sSurnamePart) <= 4 Then sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "ю" If Right(sSurnamePart, 3) = "чий" Then sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "ему" Case "уй": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "ую" End Select Else ' женские фамилии Select Case Right(sSurnamePart, 1) Case "о", "е", "э", "и", "ы", "у", "ю", "б", "в", "г", "д", "ж", "з", "к", "л", "м", "н", "п", _ "р", "с", "т", "ф", "х", "ц", "ч", "ш", "щ", "ь", "й": sRes = sSurnamePart Case "я": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "ой" Case Else: sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "ой" End Select Select Case Right(sSurnamePart, 2) ' добавлено, для редких фамилий Case "ха", "ла", "ее": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "е" End Select End If ' не склоняются мужские и женские фамилии, оканчивающиеся на -о, -е, -э, -и, -ы, -у, -ю, ' а также на -а с предшествующей гласной If LCase(sSurnamePart) Like "*[уеыаоэяиюё]а" Then sRes = sSurnamePart arrSurname(i) = sRes Next DativeCase = Join(arrSurname, "-") & " " ' соединяем части склоняемой фамилии обратно в одну строку End If If Len(sName) > 0 Then ' Имя NameException$ = GetDativeException(sName) If Len(NameException$) Then ' для имен-исключений DativeCase = DativeCase & NameException$ Else ' имя не найдено в списке исключений If bMaleSex Then Select Case Right(sName, 1) Case "й", "ь": DativeCase = DativeCase & Mid(sName, 1, Len(sName) - 1) & "ю" Case "я", "а": DativeCase = DativeCase & Mid(sName, 1, Len(sName) - 1) & "е" Case "о": DativeCase = DativeCase & sName Case Else: DativeCase = DativeCase & sName & "у" End Select Else Select Case Right(sName, 1) Case "а", "я" If Mid(sName, Len(sName) - 1, 1) = "и" Then DativeCase = DativeCase & Mid(sName, 1, Len(sName) - 1) & "и" Else DativeCase = DativeCase & Mid(sName, 1, Len(sName) - 1) & "е" End If Case "ь": DativeCase = DativeCase & Mid(sName, 1, Len(sName) - 1) & "и" Case Else: DativeCase = DativeCase & sName End Select End If End If DativeCase = DativeCase & " " End If If Len(sPatronymic) > 0 Then ' Отчество If Right(sPatronymic, 4) = "оглы" Or Right(sPatronymic, 4) = "кызы" Then DativeCase = DativeCase & sPatronymic Else If bMaleSex Then DativeCase = DativeCase & sPatronymic & "у" Else DativeCase = DativeCase & Mid(sPatronymic, 1, Len(sPatronymic) - 1) & "е" End If End If End If DativeCase = Replace(DativeCase, "-", "- ") DativeCase = StrConv(DativeCase, vbProperCase) DativeCase = Replace(DativeCase, "- ", "-") End Function Function GetDativeException(ByVal txt$) As String ' склонение имён-исключений Select Case txt$ Case "Павел": GetDativeException = "Павлу" Case "Лев": GetDativeException = "Льву" Case "Пётр": GetDativeException = "Петру" ' без изменения (не склоняются) - перечисляем через запятую Case "Али", "Бали": GetDativeException = txt$ End Select End Function
Не получается применить макрос? Не удаётся изменить код под свои нужды? Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать. |
excelvba.ru
Склонение мужских и женских фамилий по падежам
Большинство русских фамилий склоняется по падежам согласно правилам русского языка. Однако есть много фамилий иностранного происхождения, окончания которых отличаются от типичных окончаний русских фамилий. Возникают два вопроса: склонять их или нет, как склонять? Рассмотрим разные случаи склонения фамилий:
- Фамилии на -ов/ев, -ин/ын, -ский/ской, -цкий/цкой
- Фамилии, созвучные прилагательным
- Фамилии, созвучные существительным
- Фамилии с беглыми гласными
- Фамилии на -ко, -е, -и, -у, -ю и среднего рода на -о
- Фамилии без грамматического рода на -во, -их/ых
- Двойные фамилии
1. Фамилии, оканчивающиеся на -ов/ев, -ин/ын, -ский/ской, -цкий/цкой, составляют основную часть русских фамилий. Их склонение обычно не вызывает вопросов и происходит с добавлением окончаний по следующим правилам:
Падеж | Вопрос падежа | Мужская фамилия | Женская фамилия | Множественное число |
---|---|---|---|---|
И.п. | кто? | Иванов | Иванова | Ивановы |
Р.п. | кого? | Иванова | Ивановой | Ивановых |
Д.п. | кому? | Иванову | Ивановой | Ивановым |
В.п. | кого? | Иванова | Иванову | Ивановых |
Т.п. | кем? | Ивановым | Ивановой | Ивановыми |
П.п. | о ком? | об Иванове | об Ивановой | об Ивановых |
Падеж | Вопрос падежа | Мужская фамилия | Женская фамилия | Множественное число |
---|---|---|---|---|
И.п. | кто? | Ахтырский | Ахтырская | Ахтырские |
Р.п. | кого? | Ахтырского | Ахтырской | Ахтырских |
Д.п. | кому? | Ахтырскому | Ахтырской | Ахтырским |
В.п. | кого? | Ахтырского | Ахтырскую | Ахтырских |
Т.п. | кем? | Ахтырским | Ахтырской | Ахтырскими |
П.п. | о ком? | об Ахтырском | об Ахтырской | об Ахтырских |
2. Фамилии, созвучные прилагательным, склоняются в соответствии со склонением прилагательных в мужском и женском роде и в множественном числе: Лихой, Толстая, Белый, Великий.
Падеж | Вопрос падежа | Мужская фамилия | Женская фамилия | Множественное число |
---|---|---|---|---|
И.п. | кто? какой/какая? | Лихой | Лихая | Лихие |
Р.п. | кого? какого/какой? | Лихого | Лихой | Лихих |
Д.п. | кому? какому/какой? | Лихому | Лихой | Лихим |
В.п. | кого? какого/какую? | Лихого | Лихую | Лихих |
Т.п. | кем? каким/какой? | Лихим | Лихой | Лихими |
П.п. | о ком? о каком/о какой? | о Лихом | о Лихой | о Лихих |
3. Фамилии, созвучные существительным, склоняются в соответствии с полом, грамматический род не влияет на склонение. В том числе иноязычные без ударения на последний слог. Примеры фамилий: Мельник, Гитара, Бык, Ворона, Черноус, Щерба, Кафка. Фамилии мужского рода (Мельник, Трус) склоняются у мужчин по правилу склонения существительных мужского рода, у женщин и во множественном числе не склоняются. Фамилии женского рода (Гитара, Пятница) у мужчин и женщин склоняются по правилам склонения существительных женского рода, во множественном числе фамилия имеет форму именительного падежа у мужчин и не склоняется по падежам.
Падеж | Вопрос падежа | Мужская фамилия | Женская фамилия | Множественное число |
---|---|---|---|---|
И.п. | кто? | Мельник | Мельник | Мельник |
Р.п. | кого? | Мельника | ||
Д.п. | кому? | Мельнику | ||
В.п. | кого? | Мельника | ||
Т.п. | кем? | Мельником | ||
П.п. | о ком? | о Мельнике |
Падеж | Вопрос падежа | Мужская фамилия | Женская фамилия | Множественное число |
---|---|---|---|---|
И.п. | кто? | Гитара | Гитара | Гитара |
Р.п. | кого? | Гитары | Гитары | |
Д.п. | кому? | Гитаре | Гитаре | |
В.п. | кого? | Гитару | Гитару | |
Т.п. | кем? | Гитарой | Гитарой | |
П.п. | о ком? | о Гитаре | Гитаре |
Примечание 1. Стоит уточнять ударение в фамилиях, оканчивающихся на -а, так как от этого зависит окончание творительного падежа. Сравните: Лéвша — Левшей, Левшá — Левшой.
Примечание 2. Французские фамилии с ударным окончанием -а,-я, не склоняются: Эмилю Золя, Пьером Брока, об Александре Дюма.
4. Фамилии, совпадающие с существительными с беглой гласной, склоняются также с выпадением гласной. Примеры: Заяц — Зайца, Лоб — Лба, Лев — Льва. Однако семейные традиции могут диктовать исключение, гласная буква не выпадает. Например: Лапоть — Лапотя (вместо Лаптя).
Падеж | Вопрос падежа | Мужская фамилия | Женская фамилия | Множественное число |
---|---|---|---|---|
И.п. | кто? | Песец, Лапоть | Песец, Лапоть | Песец, Лапоть |
Р.п. | кого? | Песца, Лаптя или Лапотя | ||
Д.п. | кому? | Песцу, Лаптю или Лапотю | ||
В.п. | кого? | Песца, Лаптя или Лапотя | ||
Т.п. | кем? | Песцом, Лаптем или Лапотем | ||
П.п. | о ком? | о Песце, о Лапте или о Лапоте |
5. Русские фамилии среднего рода, оканчивающиеся на -о, украинские фамилии на –ко, а также иноязычные фамилии на -о, -е, -и, -у, -ю не склоняются. Примеры: Болото, Золото, Петренко, Тимошенко, Живаго, Дали, Орджоникидзе, Ганди.
Падеж | Вопрос падежа | Мужская фамилия | Женская фамилия | Множественное число |
---|---|---|---|---|
И.п. | кто? | Золото, Петренко, Дали | Золото, Петренко, Дали | Золото, Петренко, Дали |
Р.п. | кого? | |||
Д.п. | кому? | |||
В.п. | кого? | |||
Т.п. | кем? | |||
П.п. | о ком? |
6. Фамилии, образованные от родительного падежа личного имени, прозвища или семейства, не склоняются. Их род не определен. Они оканчиваются на -во, -их/ых. Примеры: Хитрово, Седых, Малых.
Падеж | Вопрос падежа | Мужская фамилия | Женская фамилия | Множественное число |
---|---|---|---|---|
И.п. | кто? | Малых | Малых | Малых |
Р.п. | кого? | |||
Д.п. | кому? | |||
В.п. | кого? | |||
Т.п. | кем? | |||
П.п. | о ком? |
7. В двойных фамилиях каждая часть склоняется по падежам отдельно в соответствии с описанными выше правилами.
Падеж | Вопрос падежа | Мужская фамилия | Женская фамилия |
---|---|---|---|
И.п. | кто? | Григорьев-Апполонов | Ткач-Преображенская |
Р.п. | кого? | Григорьева-Апполонова | Ткач-Преображенской |
Д.п. | кому? | Григорьеву-Апполонову | Ткач-Преображенской |
В.п. | кого? | Григорьева-Апполонова | Ткач-Преображенскую |
Т.п. | кем? | Григорьевым-Апполоновым | Ткач-Преображенской |
П.п. | о ком? | о Григорьеве-Апполонове | о Ткач-Преображенской |
Примечание. Если первая часть двойной фамилии не может употребляться отдельно, то она не склоняется: Бонч-Бруевич — Бонч-Бруевича — Бонч-Бруевичем.
Комментарии посетителей
Страницы: [1] | [2] | [3] | [4] [Следующая] | [Последняя] Идёт загрузка…
surnameonline.ru
Родительный падеж ФИО — Rus-learn.com
Особенности склонения ФИО в родительном падеже
В русском языке ФИО в родительном падеже изменяются преимущественно так же, как и другие собственные существительные – в зависимости от склонения, к которому они относятся.
Примеры фамилий имен отчеств в родительном падеже: книга Ивановой Елены Сергеевны, труды Льва Николаевича Толстого, квартира Черных Марьям Александровны.
Склонение фамилий в родительном падеже
Основные склоняемые типы и примеры фамилий в родительном падеже представлены в таблице:
Мужской род | Женский род | Множественной число | |
Фамилии на -ов/ев, -ин/ын, -ский/ской, -цкий/цкой | Петрова, Пшеницына, Чацкого, Боровского | Петровой, Пшеницыной, Чацкой, Боровской | Петровых, Пшеницыных, Чацких, Боровских |
Фамилии, созвучные прилагательным | Черного, Крымского, Толстого, Лихого | Черной, Крымской, Толстой, Лихой | Черных, Крымских, Толстых, Лихих |
Фамилии, созвучные существительным (в том числе иноязычные без ударения на последний слог) | Мельника, Короля, Ворона(созвучные существительным мужского рода 2 склонения) | Мельник, Король, Ворон | Мельник, Король, Ворон |
Пятницы, Кафки, Земли(созвучные существительным женского рода 1 склонения) | Пятницы, Кафки, Земли | Пятница, Кафка, Земля | |
Фамилии с беглыми гласными | Льва, Зайца | Лев, Заяц | Лев, Заяц |
Двойные фамилии | Соловьева-Седого, Ткач-Преображенского | Соловьевой-Седой, Ткач-Преображенской | Соловьевых-СедыхТкач-Преображенских |
Склонение имен в родительном падеже
Примеры склонения имен в родительном падеже:
Мужские имена с основой на согласный или на -й | Максима, Петра, Льва, Андрея, Наиля, Сергея |
Женские и мужские имена с окончанием -а (-я) | Веры, Никиты, Айры, Екатерины, Даши, Жени |
Имена, которые в начальной форме имеют окончание -ия, -ья | Ильи, Дарьи, Марии |
Женские имена с окончанием на мягкую согласную | Нинели, Любови, Руфи, Юдифи |
Обратите внимание: в имени Любовь в родительном падеже не происходит выпадение корневого гласного «о».
Склонение отчеств в родительном падеже
В родительном падеже отчества склоняются следующим образом:
Мужской род | Женский род | ||
Ед. число | Мн. число | Ед. число | Мн. число |
Александровича,Петровича, Валериевича, Ильича | Александровичей,Петровичей, Валериевичей, Ильичей | Александровны,Петровны, Валериевны, Ильиничны | Александровн,Петровн, Валериевн, Ильиничн |
Исключения
Несклоняемые существительные, обозначающие фамилии и имена, в родительном падеже употребляются в форме, омонимичной их начальной (в И. п. единственного числа). К таким существительным относятся:
- Французские фамилии с ударным окончанием -а (-я) (Золя, Дюма);
- Фамилии с основой на -ко, -е, -и, -у, -ю и созвучные со средним родом на -о (Овчаренко, Петренко, Полено, Ганди, Бакидзе);
- Фамилии без грамматического рода с основой на -их/ых (Черных, Седых, Глухих);
- Нерусские женские имена с основой на твердую согласную и на -и (Розмари, Гульжихан, Кэйт);
- Имена с окончаниями -о, -у, -ю, -е, -ы, (Руссо, Ромео, Бабу).
rus-learn.com
Пользовательская функция (UDF) для перевода ФИО (фамилии, имя, отчества) в родительный падеж.
Эту функцию можно использовать как в коде программы, так и как формулу в ячейках листа Excel PS: Функция является переделкой аналогичной UDF для склонения в дательном падеже. Конечно, код не идеальный, — всегда можно найти ФИО, которые будут склоняться неверно. Если вы используете функции склонения для формирования документов, В указанную надстройку включены самые последние версии функций склонения. Пример использования: Sub ПереводФИОвРодительныйПадеж() ' если фамилия, имя и отчество - в одной переменной (или ячейке) FIO$ = "Сидоров Иван Скотиныч" РодительныйПадеж$ = GenitiveCase(FIO$) Debug.Print РодительныйПадеж$ ' результат: Сидорова Ивана Скотиныча ' если фамилия, имя и отчество - в разных переменных (или ячейках) НетКого$ = GenitiveCase("Андреева", "Ольга", "Федоровна") Debug.Print НетКого$ ' результат: Андреевой Ольги Федоровны End Sub Код функции GenitiveCase (версия от 29 января 2013 года): Option Compare Text ' эта строка нужна обязательно! (сравнение без учёта регистра) Function GenitiveCase(sSurname$, Optional sName$, Optional sPatronymic$) As String ' Функция формирует родительный падеж из ФИО ' Параметры: sSurname - фамилия, sName - имя, sPatronymic - отчество ' © 2013 EducatedFool Application.Volatile True ' автопересчёт формулы на листе sSurname$ = Replace(sSurname$, " - ", "-"): sSurname$ = Replace(Replace(sSurname$, " -", "-"), "- ", "-") On Error Resume Next If sName$ = "" And sPatronymic$ = "" Then arr = Split(Application.Trim(sSurname$)) sSurname$ = arr(0): sName$ = arr(1): sPatronymic$ = Replace(arr(2), ".", "") End If ' пол теперь определяется иначе: что заканчивается на "вна" или "кызы" - то женщины, остальные - мужчины. Dim bMaleSex As Boolean: ' bMaleSex = (Right(sPatronymic, 1) = "ч" Or Right(sPatronymic, 4) = "оглы") bMaleSex = Not (Right(sPatronymic, 2) = "на" Or Right(sPatronymic, 4) = "кызы") If Len(sSurname) > 0 Then ' Фамилия arrSurname = Split(sSurname, "-") For i = LBound(arrSurname) To UBound(arrSurname) ' перебираем все части фамилий, содержащих дефис sRes = "": sSurnamePart = arrSurname(i) If bMaleSex Then ' мужские фамилии Select Case Right(sSurnamePart, 1) Case "о", "и", "ы", "у", "э", "е", "ю": sRes = sSurnamePart Case "й": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "ого" Case "ь": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "я" Case "я": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "и" Case "а": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "ы" If UBound(arrSurname) > 0 And i = 0 Then sRes = sSurnamePart Case Else: sRes = sSurnamePart & "а" End Select Select Case Right(sSurnamePart, 2) ' добавлено, для редких фамилий Case "ец": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "ца" If LCase(sSurnamePart) Like "*[уеыаоэяиюё]ец" Then sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "ца" If LCase(sSurnamePart) Like "*[!уеыаоэяиюё][!уеыаоэяиюё]ец" Then sRes = sSurnamePart & "а" Case "зе", "их", "ых": sRes = sSurnamePart Case "ий", "ой": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "ого" If Len(sSurnamePart) <= 4 Then sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "я" If Right(sSurnamePart, 3) = "чий" Then sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "его" Case "уй": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "уя" End Select Else ' женские фамилии Select Case Right(sSurnamePart, 1) Case "о", "е", "э", "и", "ы", "у", "ю", "б", "в", "г", "д", "ж", "з", "к", "л", "м", "н", "п", _ "р", "с", "т", "ф", "х", "ц", "ч", "ш", "щ", "ь", "й": sRes = sSurnamePart Case "а": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "ой" Case "я": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "ю" Case Else: sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 1) & "у" End Select Select Case Right(sSurnamePart, 2) ' добавлено, для редких фамилий Case "ха": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "хи" Case "ла": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "лы" Case "ая": sRes = Mid(sSurnamePart, 1, Len(sSurnamePart) - 2) & "ой" End Select End If ' не склоняются мужские и женские фамилии, оканчивающиеся на -о, -е, -э, -и, -ы, -у, -ю, ' а также на -а с предшествующей гласной If LCase(sSurnamePart) Like "*[уеыаоэяиюё]а" Then sRes = sSurnamePart arrSurname(i) = sRes Next GenitiveCase = Join(arrSurname, "-") & " " ' соединяем части склоняемой фамилии обратно в одну строку End If If Len(sName) > 0 Then ' Имя NameException$ = GetGenitiveException(sName) If Len(NameException$) Then ' для имен-исключений GenitiveCase = GenitiveCase & NameException$ Else ' имя не найдено в списке исключений If bMaleSex Then Select Case Right(sName, 1) Case "й", "ь": GenitiveCase = GenitiveCase & Mid(sName, 1, Len(sName) - 1) & "я" Case "а": GenitiveCase = GenitiveCase & Mid(sName, 1, Len(sName) - 1) & "ы" Case "я": GenitiveCase = GenitiveCase & Mid(sName, 1, Len(sName) - 1) & "и" Case "о": GenitiveCase = GenitiveCase & sName Case Else: GenitiveCase = GenitiveCase & sName & "а" End Select Else Select Case Right(sName, 1) Case "а": GenitiveCase = GenitiveCase & Mid(sName, 1, Len(sName) - 1) & "ы" Case "я": GenitiveCase = GenitiveCase & Mid(sName, 1, Len(sName) - 1) & "и" Case Else: GenitiveCase = GenitiveCase & sName End Select End If End If GenitiveCase = GenitiveCase & " " End If If Len(sPatronymic) > 0 Then ' Отчество If Right(sPatronymic, 4) = "оглы" Or Right(sPatronymic, 4) = "кызы" Then GenitiveCase = GenitiveCase & sPatronymic Else If bMaleSex Then GenitiveCase = GenitiveCase & sPatronymic & "а" Else GenitiveCase = GenitiveCase & Mid(sPatronymic, 1, Len(sPatronymic) - 1) & "ы" End If End If End If GenitiveCase = Replace(GenitiveCase, "-", "- "): GenitiveCase = StrConv(GenitiveCase, vbProperCase): GenitiveCase = Replace(GenitiveCase, "- ", "-") End Function Function GetGenitiveException(ByVal txt$) As String ' склонение имён-исключений Select Case txt$ Case "Павел": GetGenitiveException = "Павла" Case "Лев": GetGenitiveException = "Льва" Case "Пётр": GetGenitiveException = "Петра" Case "Любовь": GetGenitiveException = "Любови" ' без изменения (не склоняются) - перечисляем через запятую Case "Али", "Бали": GetGenitiveException = txt$ End Select End Function
Не получается применить макрос? Не удаётся изменить код под свои нужды? Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать. |
excelvba.ru
Склонение имен по падежам
Русские имена бывают мужские и женские. Не бывает имен среднего и общего рода в отличие от фамилий. Имена склоняются в соответствии с правилами русского языка и определяются буквой, на которую оканчиваются, и склонением. Рассмотрим случаи.
1. Мужские имена, оканчивающиеся на согласный и на –й, склоняются, как существительный мужского рода:
Падеж | Вопрос падежа | Мужское имя |
---|---|---|
И.п. | кто? | Алесей, Михаил |
Р.п. | кого? | Алексея, Михаила |
Д.п. | кому? | Алексею, Михаилу |
В.п. | кого? | Алексея, Михаила |
Т.п. | кем? | Алексеем, Михаилом |
П.п. | о ком? | об Алексее, о Михаиле |
В иноязычных именах, пишущихся через дефис, склоняется последняя часть: Хорун-оол — Хорун-оолу; Шой-Сюрюн — Шой-Сюрюна.
2. Мужские и женские имена, оканчивающиеся на –а:
Падеж | Вопрос падежа | Мужское имя | Женское имя |
---|---|---|---|
И.п. | кто? | Никита | Марина |
Р.п. | кого? | Никиты | Марины |
Д.п. | кому? | Никите | Марине |
В.п. | кого? | Никиту | Марину |
Т.п. | кем? | Никитой | Мариной |
П.п. | о ком? | о Никите | о Марине |
3. Мужские и женские имена, оканчивающиеся иа -я, -ья, -ия, -ея:
Падеж | Вопрос падежа | Мужское имя | Женское имя |
---|---|---|---|
И.п. | кто? | Илья | Наталья, Мария |
Р.п. | кого? | Ильи | Натальи, Марии |
Д.п. | кому? | Илье | Наталье, Марии |
В.п. | кого? | Илью | Наталью, Марию |
Т.п. | кем? | Ильёй | Натальей, Марией |
П.п. | о ком? | об Илье | о Наталье, о Марии |
Примечание. Имена на -ия в родительном, дательном и предложном падежах имеют окончание -ии, имена на -ья в родительном падеже имеют окончание -ьи, в дательном и предложном падежах — окончание -ье.
4. Женские имена в 3-м склонении (оканчивающиеся на -ь): Любовь, Адель, Жизель и др.:
Падеж | Вопрос падежа | Женское имя |
---|---|---|
И.п. | кто? | Любовь, Жизель |
Р.п. | кого? | Любови, Жизели |
Д.п. | кому? | Любови, Жизели |
В.п. | кого? | Любовь, Жизель |
Т.п. | кем? | Любовью, Жизелью |
П.п. | о ком? | о Любови, о Жизели |
Примечание 1. В литературе, СМИ отдельные женские имена имеют вариативное склонение, то есть их могут как склоняться, так и не склонять: Ассоль и Ассоли, Айгюль и Айгули.
Примечание 2. Некоторые женские имена фигурируют в качестве мужского: Мишель.
5. Женские имена, оканчивающиеся на твердую согласную, как правило, не склоняются: Катрин, Марьям, Элизабет, Ирен.
6. Многие заимствованные мужские и женские имена, оканчивающиеся на -о, -е, -и и другие, не склоняются: Ромео, Рене, Луи, Бруно, Лео, Пьеро, Гиви и др.
7. В заимствованных именах, пишущихся через дефис, склоняется вторая часть: Алим-Паша — Алим-Пашу, Очир-Гаря — Очир-Гарю.
Если у вас есть замечания или вы хотите что-то добавить к тексту, оставьте, пожалуйста, комментарий ниже. Для просмотра списка имен и их склонений воспользуйтесь алфавитным указателем в правом меню сайта.
Комментарии посетителей
Идёт загрузка…surnameonline.ru