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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2009, 12:25   #1
Talisman
Пользователь
 
Регистрация: 29.12.2007
Сообщений: 31
По умолчанию Дата по условию

Помогите усовершенствовать макрос, как вставить условие если в ячейку ручная дата ничего не введено, то в клетку вставится текущая дата и как сделать так чтобы в этом макросе где дата вводится в ручную - отображалась бы текущая, а не 25.11 как я счас сделал. Кроме того в ячейку Б, т.е. в поле позитив предполагается введение числовых значений, однако даже когда я ввожу число в ячейку вносится не число и требуется еще какое-то преобразование, почему? Ну а вообще конечная цель такова, чтобы в ячейку вносилось число которое бы являлось суммой того числа которое я ввел в окно ПОЗИТИВ с тем что было предыдущим.
Вложения
Тип файла: rar NewIndexM.rar (36.4 Кб, 9 просмотров)
Talisman вне форума Ответить с цитированием
Старый 21.11.2009, 12:50   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Вот этот код будет по умолчанию ставить текущую дату в поле "Ручная дата" при активации (запуске) формы.
Код:
Private Sub UserForm_Activate()
    Date1.Text = Format(Now, "dd/mm/yyyy")
End Sub
Вид формата даты можете выбрать сами, как Вам нужно.
дальше что-то не очень понятно...
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 21.11.2009, 13:10   #3
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Чтобы число в ячейке отображалось в нужном, числовом, формате, измените немного код
Код:
Private Sub CommandButton1_Click()
    Dim cell As Range: Set cell = [a65000].End(xlUp).Offset(1)
    cell = Me.Date1: cell.Next = Format(Me.Ind, 0#): cell.Next.Next = Me.koment: cell.Next.Next.Next = Me.Date1
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 21.11.2009 в 13:16.
VictorM вне форума Ответить с цитированием
Старый 21.11.2009, 13:22   #4
Talisman
Пользователь
 
Регистрация: 29.12.2007
Сообщений: 31
По умолчанию

Ну и куда этот код вставлять, речь шла об условии, Если поле ''ручная дата' не заполнето, то date= текущая дата, если выбрана дата, то брать то значение, которое выбрано. Сейчас если дату не ввести то колонка остается пустой. Теперь по поводу поля "Позитив" Например в данном примере последняя заполненная ячейка - это B6 равно значению 69, после следующего запуска макроса я введу значение в поле ''позитив'' равный 1 и соответвенно в поле B7 должно появиться значение 70. Прибавлять введенное значение к предыдущему полученному результату в колонке B в последней заполненной строчке.А вообще в идеале, если следущее значение уменьшилось, те например было введено -1, то результат выведется в красном цвете, а если увеличилось то в зеленом, если не изменилось, те был введен 0, то в синем С форматом числа разобрался. спасибо.

Последний раз редактировалось Talisman; 21.11.2009 в 13:34.
Talisman вне форума Ответить с цитированием
Старый 21.11.2009, 18:16   #5
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Ну и куда этот код вставлять
А "вставлять" этот код в модуль формы, и тогда см. выше.
Цитата:
код будет по умолчанию ставить текущую дату в поле "Ручная дата" при активации (запуске) формы.
и
Цитата:
Если поле ''ручная дата' не заполнето, то date= текущая дата, если выбрана дата, то брать то значение, которое выбрано
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 21.11.2009, 18:37   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Теперь по поводу поля "Позитив" Например в данном примере последняя заполненная ячейка - это B6 равно значению 69, после следующего запуска макроса я введу значение в поле ''позитив'' равный 1 и соответвенно в поле B7 должно появиться значение 70.
Замените код вот этим:
Код:
Private Sub CommandButton1_Click()
    Dim cell As Range: Set cell = [a65000].End(xlUp).Offset(1)
    zn = [a65000].End(xlUp).Offset(0, 1)
    cell = Me.Date1: cell.Next = Format(Me.Ind + zn, 0#): cell.Next.Next = Me.koment: cell.Next.Next.Next = Me.Date1
End Sub
а по поводу
Цитата:
А вообще в идеале, если следущее значение уменьшилось, те например было введено -1, то результат выведется в красном цвете, а если увеличилось то в зеленом, если не изменилось, те был введен 0, то в синем
то с этим прекрасно справляется условное форматирование.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 21.11.2009 в 18:43.
VictorM вне форума Ответить с цитированием
Старый 21.11.2009, 19:00   #7
Talisman
Пользователь
 
Регистрация: 29.12.2007
Сообщений: 31
По умолчанию

Спасибо, все сработало, с датой просто стормозил, что в самое начало надо было вставлять)))))
Talisman вне форума Ответить с цитированием
Старый 21.11.2009, 19:04   #8
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Я немного изменил код, т.к. при пустом значении поля "Позитив" выдавалась ошибка и ввел пример условного форматирования.
Посмотрите.
Вложения
Тип файла: zip NewIndexM1.zip (42.9 Кб, 18 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 21.11.2009, 20:39   #9
Talisman
Пользователь
 
Регистрация: 29.12.2007
Сообщений: 31
По умолчанию

великолепно
Talisman вне форума Ответить с цитированием
Старый 21.11.2009, 20:39   #10
Talisman
Пользователь
 
Регистрация: 29.12.2007
Сообщений: 31
По умолчанию

Спасибо за вашу помощь. А как сделать так, чтобы курсор начинал мигать в окне комменты, а не в окне позитив и очистку коммента (только коммента) после нажатия на внедрить?

Последний раз редактировалось Talisman; 22.11.2009 в 05:15.
Talisman вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение таблицы по условию! KNatalia Microsoft Office Excel 0 27.10.2009 14:09
ОТБОР ПО УСЛОВИЮ provodnikam Microsoft Office Excel 0 27.07.2009 22:02
Дата Конечная (ДД.ММ.ГГГГ) - Дата Начальная (ДД.ММ.ГГГГ) = Количество Месяцев stanislav24 Microsoft Office Excel 5 20.12.2008 10:36
объединение таблиц по условию rexec Microsoft Office Excel 2 25.05.2008 15:42
Скрытие столбцов по условию snake980 Microsoft Office Excel 6 26.02.2008 16:52