Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2009, 21:03   #11
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Код:
If Len(TextBox1.Text) Then
  Cells(2, 15).Value = TextBox1.Text
Else: Cells(2, 15).Value = 0
End If
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 02.07.2009, 21:11   #12
KinderX
Пользователь
 
Регистрация: 27.06.2009
Сообщений: 36
Печаль

[QUOTE=viter.alex;302050]
Код:
If Len(TextBox1.Text) Then
  Cells(2, 15).Value = TextBox1.Text
Else: Cells(2, 15).Value = 0
End If
[/QUOT

Сразу ругаться наченает
KinderX вне форума Ответить с цитированием
Старый 02.07.2009, 21:16   #13
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Все должно работать. Я проверял
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 02.07.2009, 21:27   #14
KinderX
Пользователь
 
Регистрация: 27.06.2009
Сообщений: 36
По умолчанию

С третьего раза, получилось.
Большое спасибо.

Теперь есть все данные и я доделаю Форму(автоматическую) которая берет данные из Таблицы, довольно большой примерно 1200 на HU + Еще Лист с небольшой таблицей.
Спасибо всем, всем, всем. За неделю я узнал очень многое из данного форума, а начинал с нуля. Ещё раз спосибо всем
KinderX вне форума Ответить с цитированием
Старый 17.04.2013, 18:13   #15
mamalika
Новичок
Джуниор
 
Регистрация: 17.04.2013
Сообщений: 2
По умолчанию

Ребята, доброго дня всем.

Замечательное решение от SAS888


Код:
Function Conv(Cell As Range) As String

    Dim i As Integer, a, b, c: a = Split(Application.Trim(Cell), " ")
    
    b = Array("а", "ой") 'Окончания, которые будем изменять
    c = Array("у", "ой") 'Окончания, которыми будем заменять
    
    For i = LBound(b) To UBound(b)
        If Right(a(0), 2) = b(i) Then
            Conv = Left(a(1), 1) & ". " & Left(a(2), 1) & ". " & Left(a(0), Len(a(0)) - 2) & c(i)
            Exit Function
        ElseIf Right(a(0), 1) = b(i) Then
            Conv = Left(a(1), 1) & ". " & Left(a(2), 1) & ". " & Left(a(0), Len(a(0)) - 1) & c(i)
            Exit Function
        End If
    Next
    
End Function
но инициалы по задумке ТС спереди фамилии.
С.С. Иванову
А.А Петрову

Помогите пожалуйста вернуть их в привычное место.
Иванову С.С
Петрову А.А
mamalika вне форума Ответить с цитированием
Старый 26.04.2013, 01:21   #16
mamalika
Новичок
Джуниор
 
Регистрация: 17.04.2013
Сообщений: 2
По умолчанию

Столько раз просмотрена тема.
Ведь вам как дважды два сложить и разложить недоступные гуманитарию формулы.
Гляньте пожалуйста, я никогда не выучу и не пойму в этом жутком коде ничегошеньки.
mamalika вне форума Ответить с цитированием
Старый 26.04.2013, 03:59   #17
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Увы, mamalika, разбираться приходится порой всю ночь, а то и две.

Пишете грамотно (что здесь большая редкость), но онтологически не верно.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 26.04.2013, 07:35   #18
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

Цитата:
Сообщение от mamalika Посмотреть сообщение
но инициалы по задумке ТС спереди фамилии.
С.С. Иванову
А.А Петрову

Помогите пожалуйста вернуть их в привычное место.
Иванову С.С
Петрову А.А
Формулами так:
Код:
=ПСТР(A1&" "&A1;ПОИСК(" ";A1&" ")+1;ДЛСТР(A1))
UDF
Код:
Function SwapFIO$(s$)
    SwapFIO = Mid$(s & " " & s, InStr(s, " ") + 1, Len(s))
End Function
MCH вне форума Ответить с цитированием
Старый 25.06.2013, 14:40   #19
Barsanya
Новичок
Джуниор
 
Регистрация: 25.06.2013
Сообщений: 1
По умолчанию

Уважаемые форумчане ... Подскажите как Сделать что бы Ф.И.О. выдавалось полностью без сокращений в Именительном падеже!!! И если можно примерчик пожалуйста!
Barsanya вне форума Ответить с цитированием
Старый 30.01.2020, 16:33   #20
Mauglee
Новичок
Джуниор
 
Регистрация: 04.04.2017
Сообщений: 1
По умолчанию

Цитата:
Сообщение от viter.alex Посмотреть сообщение
Очень интересная задача. Я попробовал ее решить в общем виде. Результат в приложении.
Поскольку все окончания не упомнишь, то я оставил возможность добавления своих окончаний. В коде это сделано с помощью строковых констант:
Код:
'Окончания родительного падежа для фамилий мужского рода
Private Const MALECASEENDS = "ова я ого а"
'Окончания именительного падежа для фамилий мужского рода.
'Знак $$ означает, что окончания в именительном падеже нет
Private Const MALEENDS = "ов ь ий $$"

'Окончания родительного падежа для фамилий женского рода
Private Const FEMALECASEENDS = "ову у "
'Окончания именительного падежа для фамилий женского рода
Private Const FEMALEENDS = "ова а"
Добавляете в константу MALECASEENDS свое окончание родительного падежа через пробел, а в константу MALEENDS вариант этого окончания в именительном падеже. Если окончания нет, то ставьте два знака доллара. Вроде у меня работает.

Также я реализовал проверку на правильность введенного имени. Должно быть введено три русских слова с большой буквы (большая буква ставится автоматически), разделенных пробелом.

Программа сама определяет род человека, для которого ввели данные, нечувствительна к порядку расположения фамилии, имени и отчества. Т.е. можно написать Иванов Иван Иванович, а можно Иван Иванович Иванов.

Прошу пробовать и спрашивать.
Как это использовать в Экселе?
Mauglee вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
автоматическое изменение падежа слова B00lean Microsoft Office Word 5 20.03.2009 00:43