Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Для преобразования Фамилии Имени Отчества в родительный падеж в VBA, можно воспользоваться функцией. В русском языке родительный падеж Фамилии Имени Отчества образуется путем добавления окончания к каждому слову. Например, для Фамилии "Иванов", Имени "Иван" и Отчества "Иванович", родительный падеж будет "Иванова Ивана Ивановича".Скрипт VBA, добавляющий Формулу преображающую Фамилию Имя Отчество в ячейке A1 в родительный падеж
Function РодительныйПадеж(ФИО As String) As String
Dim Фамилия As String
Dim Имя As String
Dim Отчество As String
Dim РодительныйФамилия As String
Dim РодительныйИмя As String
Dim РодительныйОтчество As String
' Разделение ФИО на Фамилию, Имя и Отчество
Dim Индекс1 As Integer
Dim Индекс2 As Integer
Индекс1 = InStr(ФИО, " ")
Индекс2 = InStr(Индекс1 + 1, ФИО, " ")
Фамилия = Left(ФИО, Индекс1 - 1)
Имя = Mid(ФИО, Индекс1 + 1, Индекс2 - Индекс1 - 1)
Отчество = Right(ФИО, Len(ФИО) - Индекс2)
' Преобразование Фамилии
If Right(Фамилия, 2) = "ов" Or Right(Фамилия, 2) = "ин" Then
РодительныйФамилия = Фамилия & "а"
Else
РодительныйФамилия = Фамилия & "а"
End If
' Преобразование Имени
РодительныйИмя = Имя & "а"
' Преобразование Отчества
If Right(Отчество, 4) = "вичь" Then
РодительныйОтчество = Left(Отчество, Len(Отчество) - 2) & "а"
Else
РодительныйОтчество = Отчество & "а"
End If
' Сборка ФИО в родительном падеже
РодительныйПадеж = РодительныйФамилия & " " & РодительныйИмя & " " & РодительныйОтчество
End Function
Sub ПреобразоватьВРодительныйПадеж()
Dim ФИО As String
Dim РодительныйФИО As String
ФИО = Range("A1").Value
РодительныйФИО = РодительныйПадеж(ФИО)
Range("A1").Value = РодительныйФИО
End Sub
ПреобразоватьВРодительныйПадеж
для преобразования Фамилии Имени Отчества в родительный падеж в ячейке A1. Не забудьте вставить Фамилию Имя Отчество в ячейку A1 перед запуском скрипта.Для преобразования Фамилии, Имени и Отчества в родительный падеж для женского рода в VBA, необходимо учесть особенности образования родительного падежа для женского пола. Например, для Фамилии "Иванова", Имени "Ирина" и Отчества "Ивановна", родительный падеж будет "Ивановой Ирины Ивановны".не работает для женского рода
Function РодительныйПадеж(ФИО As String) As String
Dim Фамилия As String
Dim Имя As String
Dim Отчество As String
Dim РодительныйФамилия As String
Dim РодительныйИмя As String
Dim РодительныйОтчество As String
' Разделение ФИО на Фамилию, Имя и Отчество
Dim Индекс1 As Integer
Dim Индекс2 As Integer
Индекс1 = InStr(ФИО, " ")
Индекс2 = InStr(Индекс1 + 1, ФИО, " ")
Фамилия = Left(ФИО, Индекс1 - 1)
Имя = Mid(ФИО, Индекс1 + 1, Индекс2 - Индекс1 - 1)
Отчество = Right(ФИО, Len(ФИО) - Индекс2)
' Преобразование Фамилии
If Right(Фамилия, 2) = "ва" Or Right(Фамилия, 2) = "на" Then
РодительныйФамилия = Фамилия & "ой"
Else
РодительныйФамилия = Фамилия & "ой"
End If
' Преобразование Имени
РодительныйИмя = Имя & "ы"
' Преобразование Отчества
If Right(Отчество, 4) = "вна" Then
РодительныйОтчество = Left(Отчество, Len(Отчество) - 1) & "ы"
Else
РодительныйОтчество = Отчество & "ы"
End If
' Сборка ФИО в родительном падеже
РодительныйПадеж = РодительныйФамилия & " " & РодительныйИмя & " " & РодительныйОтчество
End Function
Sub ПреобразоватьВРодительныйПадеж()
Dim ФИО As String
Dim РодительныйФИО As String
ФИО = Range("A1").Value
РодительныйФИО = РодительныйПадеж(ФИО)
Range("A1").Value = РодительныйФИО
End Sub