Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

XenoZ



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Function fnGetName(aa As String) As String
Dim ss() As String, vMale As Boolean
    vMale = False
    ss = Split(aa, " ")
    If Right(ss(2), 3) = "вич" Then vMale = True
'
    Select Case Right(ss(0), 1)
        Case "в", "н", "к", "с"
            If vMale Then ss(0) = ss(0) & "а"
        Case "а"
            If Not vMale Then ss(0) = Left(ss(0), Len(ss(0)) - 1) & "ой"
        Case "ь"
            If vMale Then ss(0) = Left(ss(0), Len(ss(0)) - 1) & "я"
        Case Else
    End Select
'
    Select Case Right(ss(1), 2)
        Case "жа", "ша", "ща", "ча"
            ss(1) = Left(ss(1), Len(ss(1)) - 1) & "и"
        Case Else
            Select Case Right(ss(1), 1)
                Case "а"
                    ss(1) = Left(ss(1), Len(ss(1)) - 1) & "ы"
                Case "я"
                    ss(1) = Left(ss(1), Len(ss(1)) - 1) & "и"
                Case "й", "ь"
                    If vMale Then ss(1) = Left(ss(1), Len(ss(1)) - 1) & "я" Else ss(1) = Left(ss(1), Len(ss(1)) - 1) & "и"
                Case Else
                    ss(1) = Left(ss(1), Len(ss(1)) - 1) & "а"
            End Select
    End Select
'
    Select Case Right(ss(2), 3)
        Case "вич"
            ss(2) = ss(2) & "а"
        Case "вна"
            ss(2) = Left(ss(2), Len(ss(2)) - 1) & "ы"
        Case Else
    End Select
    fnGetName = Join(ss, " ")
End Function
 
Sub ZTest()
    MsgBox fnGetName("Иванова Шахерезада Степановна")
End Sub

Всего записей: 5443 | Зарегистр. 29-03-2006 | Отправлено: 15:11 19-06-2020
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru