Цитата(максимка @ Вторник, 28 Марта 2006, 15:59)
Помогите, кто знает. Нужна (если она существует) формула перевода именительного падежа в родительный в Exel . Очень часто приходится сталкиваться с этим в договорх. И еще, можно-ли в Экселе делать автоматическую нумерацию строк как в Word. Заранее спасибо
Вот функции (необходимо проверить)
'Для Имен
Function Rod_Imya(LName As String) As String
Dim FromSuffix As Variant
Dim ToRodSuffix As Variant
Dim ln As Integer, suff As String, i As Integer
FromSuffix = Array("ей", "ил", "тр", "ис", "ег", "ай", "ор", "ий", "др", "ел", "ир", "ин", "он", "ан", "на", "га", "ия", "ла", "са", "ся", "ль", "фа", "да", "ья")
ToRodSuffix = Array("ея", "ила", "тра", "иса", "ега", "ая", "ора", "ия", "дра", "ла", "ира", "ина", "она", "ана", "ны", "ги", "ии", "лы", "сы", "си", "ль", "фы", "ды", "ьи")
Rod_Imya = LName
If LName = "" Then Exit Function
ln = Len(LName)
suff = Mid(LName, ln - 1, 2)
For i = 0 To UBound(FromSuffix)
If FromSuffix(i) = suff Then
Rod_Imya = Mid(LName, 1, ln - 2) & ToRodSuffix(i)
Exit Function
End If
Next
End Function
'Для Отчества
Function Rod_Otchestvo(LName As String) As String
Dim ln As Integer, suff As String
Rod_Otchestvo = LName
If LName = "" Then Exit Function
ln = Len(LName)
suff = Mid(LName, ln, 1)
If suff = "ч" Then
Rod_Otchestvo = LName & "а"
ElseIf suff = "а" Then
Rod_Otchestvo = Mid(LName, 1, ln - 1) & "ы"
End If
End Function
'Для Фамилии
Function Rod_Familia(LName As String) As String
Dim FromSuffix As Variant
Dim ToRodSuffix As Variant
Dim ln As Integer, suff As String, i As Integer
FromSuffix = Array("ов", "ев", "ин", "он", "ий", "ко", "ян", "ич", "ль", "юк", "ец", "ух", "ва", "на", "ая")
ToRodSuffix = Array("ова", "ева", "ина", "она", "ого", "ко", "яна", "ича", "ля", "юка", "еца", "уха", "вой", "ной", "ой")
Rod_Familia = LName
If LName = "" Then Exit Function
ln = Len(LName)
suff = Mid(LName, ln - 1, 2)
For i = 0 To UBound(FromSuffix)
If FromSuffix(i) = suff Then
Rod_Familia = Mid(LName, 1, ln - 2) & ToRodSuffix(i)
Exit Function
End If
Next
End Function