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

Вход

Регистрация

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

 

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

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир 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
Группа: Авторы
Ранг: Старожил
Сообщений: 1587
Репутация: 548 ±
Замечаний: 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
Группа: Проверенные
Ранг: Обитатель
Сообщений: 267
Репутация: 82 ±
Замечаний: 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
Группа: Админы
Ранг: Местный житель
Сообщений: 16763
Репутация: 3619 ±
Замечаний: ±

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


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

Автор - Pelena
Дата добавления - 07.05.2020 в 20:08
Апострофф Дата: Четверг, 07.05.2020, 20:42 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 267
Репутация: 82 ±
Замечаний: 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
Группа: Друзья
Ранг: Старожил
Сообщений: 2323
Репутация: 976 ±
Замечаний: 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
Группа: Проверенные
Ранг: Обитатель
Сообщений: 267
Репутация: 82 ±
Замечаний: 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
Поиск:

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