Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/как присвоить textbox дату прошлого месяца? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как присвоить textbox дату прошлого месяца? (Макросы/Sub)
как присвоить textbox дату прошлого месяца?
Marr Дата: Четверг, 07.05.2020, 14:16 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день.
Подскажите пожалуйста. Выполняется такое действие- открывается форма пользователя и там в texbox автоматически присваивается вчерашняя дата. Посмотрите пожалуйста макрос, всё верно я сделал?

И вот стало интересно, а как бы надо было сделать если мне нужна была дата прошлого месяца? Т.е. если сегодня 5 мая, то вывести 5 апреля. И, если сегодня 5 мая, а вывести 4 апреля ( т.е. -1 день и -1 месяц). Вот как сделать эти два варианта????

[vba]
Код
Private Sub UserForm_Activate()

TextBox1.Value = Format(Now - 1, "dd mmmm yyyy")

End Sub
[/vba]


Сообщение отредактировал Marr - Четверг, 07.05.2020, 14:21
 
Ответить
СообщениеДобрый день.
Подскажите пожалуйста. Выполняется такое действие- открывается форма пользователя и там в texbox автоматически присваивается вчерашняя дата. Посмотрите пожалуйста макрос, всё верно я сделал?

И вот стало интересно, а как бы надо было сделать если мне нужна была дата прошлого месяца? Т.е. если сегодня 5 мая, то вывести 5 апреля. И, если сегодня 5 мая, а вывести 4 апреля ( т.е. -1 день и -1 месяц). Вот как сделать эти два варианта????

[vba]
Код
Private Sub UserForm_Activate()

TextBox1.Value = Format(Now - 1, "dd mmmm yyyy")

End Sub
[/vba]

Автор - Marr
Дата добавления - 07.05.2020 в 14:16
nilem Дата: Четверг, 07.05.2020, 14:28 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1610
Репутация: 559 ±
Замечаний: 0% ±

Excel 2013, 2016
Marr, привет
вот такой вариант:
[vba]
Код
Sub test()
MsgBox DateSerial(Year(Date), Month(Date), Day(Date))
MsgBox DateSerial(Year(Date), Month(Date) - 1, Day(Date))
MsgBox DateSerial(Year(Date), Month(Date) - 1, Day(Date)) - 1
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеMarr, привет
вот такой вариант:
[vba]
Код
Sub test()
MsgBox DateSerial(Year(Date), Month(Date), Day(Date))
MsgBox DateSerial(Year(Date), Month(Date) - 1, Day(Date))
MsgBox DateSerial(Year(Date), Month(Date) - 1, Day(Date)) - 1
End Sub
[/vba]

Автор - nilem
Дата добавления - 07.05.2020 в 14:28
Апострофф Дата: Четверг, 07.05.2020, 15:44 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 411
Репутация: 117 ±
Замечаний: 0% ±

Excel 1997
Ещё DATEADD можно помучить...
 
Ответить
СообщениеЕщё DATEADD можно помучить...

Автор - Апострофф
Дата добавления - 07.05.2020 в 15:44
Marr Дата: Четверг, 07.05.2020, 19:50 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
вот такой вариант:

а в формате 05 мая 2020 как вывести в таком случае?


Сообщение отредактировал Marr - Четверг, 07.05.2020, 20:24
 
Ответить
Сообщение
вот такой вариант:

а в формате 05 мая 2020 как вывести в таком случае?

Автор - Marr
Дата добавления - 07.05.2020 в 19:50
Pelena Дата: Четверг, 07.05.2020, 20:08 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 18555
Репутация: 4202 ±
Замечаний: ±

Excel 2016 & Mac Excel
Marr, не надо цитировать пост целиком, это нарушение Правил форума. исправьте


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеMarr, не надо цитировать пост целиком, это нарушение Правил форума. исправьте

Автор - Pelena
Дата добавления - 07.05.2020 в 20:08
Апострофф Дата: Четверг, 07.05.2020, 20:42 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 411
Репутация: 117 ±
Замечаний: 0% ±

Excel 1997
а в формате 05 мая 2020 как

[vba]
Код
TextBox1.Value = Format(DateSerial(Year(Date), Month(Date) - 1, Day(Date)) - 1, "dd mmmm yyyy")
[/vba]-разве не очевидно?
 
Ответить
Сообщение
а в формате 05 мая 2020 как

[vba]
Код
TextBox1.Value = Format(DateSerial(Year(Date), Month(Date) - 1, Day(Date)) - 1, "dd mmmm yyyy")
[/vba]-разве не очевидно?

Автор - Апострофф
Дата добавления - 07.05.2020 в 20:42
Marr Дата: Четверг, 07.05.2020, 20:43 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Цитата Апострофф, 07.05.2020 в 15:44, в сообщении № 3 ()
Ещё DATEADD можно помучить...

попробовал....
получилось...хотелось бы узнать мнение профессионалов по моему подходу к решению задачи, насколько рационально?

Теперь появился ещё вопрос )). Как в данном случае уменьшить месяц и год одновременно? т.е. если сегодня 5 мая 2020, как сделать 5 апреля 2019??

И всем спасибо за предыдущие ответы!!!
[vba]
Код

Private Sub UserForm_Activate()

    Dim a

   a = DateAdd("M", -1, Now)
    TextBox1.Value = Format(a, "dd mmmm yyyy")
End Sub
[/vba]
 
Ответить
Сообщение
Цитата Апострофф, 07.05.2020 в 15:44, в сообщении № 3 ()
Ещё DATEADD можно помучить...

попробовал....
получилось...хотелось бы узнать мнение профессионалов по моему подходу к решению задачи, насколько рационально?

Теперь появился ещё вопрос )). Как в данном случае уменьшить месяц и год одновременно? т.е. если сегодня 5 мая 2020, как сделать 5 апреля 2019??

И всем спасибо за предыдущие ответы!!!
[vba]
Код

Private Sub UserForm_Activate()

    Dim a

   a = DateAdd("M", -1, Now)
    TextBox1.Value = Format(a, "dd mmmm yyyy")
End Sub
[/vba]

Автор - Marr
Дата добавления - 07.05.2020 в 20:43
krosav4ig Дата: Четверг, 07.05.2020, 20:45 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Format(application.edate(Now, -1 ) - 1, "dd MMMM yyyy")
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[vba]
Код
Format(application.edate(Now, -1 ) - 1, "dd MMMM yyyy")
[/vba]

Автор - krosav4ig
Дата добавления - 07.05.2020 в 20:45
Апострофф Дата: Четверг, 07.05.2020, 20:49 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 411
Репутация: 117 ±
Замечаний: 0% ±

Excel 1997
Как в данном случае уменьшить месяц и год одновременно?

[vba]
Код
a = DateAdd("M", -1, DateAdd("yyyy", -1, Now))
[/vba]
 
Ответить
Сообщение
Как в данном случае уменьшить месяц и год одновременно?

[vba]
Код
a = DateAdd("M", -1, DateAdd("yyyy", -1, Now))
[/vba]

Автор - Апострофф
Дата добавления - 07.05.2020 в 20:49
Marr Дата: Четверг, 07.05.2020, 20:50 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Цитата Апострофф, 07.05.2020 в 20:42, в сообщении № 6 ()
-разве не очевидно?

действительно, очевидно! спасибо. Не знал что DateSerial можно вложить в format. Так и решается вопрос с удалением одновременно месяца и года на -1!
[vba]
Код
TextBox1.Value = Format(DateSerial(Year(Date) - 1, Month(Date) - 1, Day(Date)) - 1, "dd mmmm yyyy")
[/vba]


Сообщение отредактировал Marr - Четверг, 07.05.2020, 20:51
 
Ответить
Сообщение
Цитата Апострофф, 07.05.2020 в 20:42, в сообщении № 6 ()
-разве не очевидно?

действительно, очевидно! спасибо. Не знал что DateSerial можно вложить в format. Так и решается вопрос с удалением одновременно месяца и года на -1!
[vba]
Код
TextBox1.Value = Format(DateSerial(Year(Date) - 1, Month(Date) - 1, Day(Date)) - 1, "dd mmmm yyyy")
[/vba]

Автор - Marr
Дата добавления - 07.05.2020 в 20:50
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как присвоить textbox дату прошлого месяца? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!