🔥 Вставка интервала дат (2)
В этом примере для преобразования дат будем использовать функцию DateSerial. А явное указание свойства Text у текстовых полей позволит не использовать функцию Format — Excel автоматически будет преобразовывать значение даты в текстовый формат системы. И добавим в пример еще три кнопки для вставки периодов.
#VBA #ExcelVBA #Date #DateSerial #ИнтервалДат #Период
В этом примере для преобразования дат будем использовать функцию DateSerial. А явное указание свойства Text у текстовых полей позволит не использовать функцию Format — Excel автоматически будет преобразовывать значение даты в текстовый формат системы. И добавим в пример еще три кнопки для вставки периодов.
#VBA #ExcelVBA #Date #DateSerial #ИнтервалДат #Период
1️⃣ Кнопка «Сегодня»
Поля начальной и конечной дат заполняются значениями текущей даты.
2️⃣ Кнопка «Вчера»
Поля начальной и конечной дат заполняются значениями прошедшей (вчерашней) даты.
3️⃣ Кнопка «Текущий месяц»
Поле начальной даты заполняется значением первого дня текущего месяца, а поле конечной — значением текущей даты.
4️⃣ Кнопка «Прошлый месяц»
Поле начальной даты заполняется значением первого дня предыдущего месяца, а поле конечной — значением последнего дня предыдущего месяца.
5️⃣ Кнопка «Прошлый год»
Поле начальной даты заполняется значением первого дня предыдущего года, а поле конечной — значением последнего дня предыдущего года.
#VBA #ExcelVBA #Date #DateSerial #ИнтервалДат #Период
Поля начальной и конечной дат заполняются значениями текущей даты.
Private Sub CommandButton1_Click()
TextBox1.Text = Date
TextBox2.Text = Date
End Sub
2️⃣ Кнопка «Вчера»
Поля начальной и конечной дат заполняются значениями прошедшей (вчерашней) даты.
Private Sub CommandButton2_Click()
TextBox1.Text = Date - 1
TextBox2.Text = Date - 1
End Sub
3️⃣ Кнопка «Текущий месяц»
Поле начальной даты заполняется значением первого дня текущего месяца, а поле конечной — значением текущей даты.
Private Sub CommandButton3_Click()
TextBox1.Text = DateSerial(Year(Date), Month(Date), 1)
TextBox2.Text = Date
End Sub
4️⃣ Кнопка «Прошлый месяц»
Поле начальной даты заполняется значением первого дня предыдущего месяца, а поле конечной — значением последнего дня предыдущего месяца.
Private Sub CommandButton4_Click()
TextBox1.Text = DateSerial(Year(Date), Month(Date) - 1, 1)
TextBox2.Text = DateSerial(Year(Date), Month(Date), 0)
End Sub
5️⃣ Кнопка «Прошлый год»
Поле начальной даты заполняется значением первого дня предыдущего года, а поле конечной — значением последнего дня предыдущего года.
Private Sub CommandButton5_Click()
TextBox1.Text = DateSerial(Year(Date) - 1, 1, 1)
TextBox2.Text = DateSerial(Year(Date) - 1, 12, 31)
End Sub
#VBA #ExcelVBA #Date #DateSerial #ИнтервалДат #Период
📅 Вывод текущей даты и времени
1️⃣ Вывод текущей даты в формате "Short Date":
2️⃣ Вывод текущей даты в полном формате и приветствия в соответствии со временем суток:
#VBA #ExcelVBA #Date #Time #Дата #Время
1️⃣ Вывод текущей даты в формате "Short Date":
Sub OutputShortDateTime()
MsgBox "Привет!" & vbNewLine & "Сегодня " & WeekdayName(Format(Now, "w", vbMonday)) _
& " " & Format(Now, "Short Date") & " года" & vbNewLine & "Время: " & Format(Now, "Short Time")
End Sub
2️⃣ Вывод текущей даты в полном формате и приветствия в соответствии со временем суток:
Sub OutputLongDateTime()
Dim pr As String, ms As String
If TimeValue(Time) > TimeValue("9:00") And TimeValue(Time) <= TimeValue("15:00") Then
pr = "Добрый день!"
ElseIf TimeValue(Time) > TimeValue("15:00") And TimeValue(Time) <= TimeValue("21:00") Then
pr = "Добрый вечер!"
ElseIf TimeValue(Time) > TimeValue("21:00") And TimeValue(Time) <= TimeValue("3:00") Then
pr = "Доброй ночи!"
Else
pr = "Доброе утро!"
End If
ms = Choose(Month(Now), "января", "февраля", "марта", "апреля", "мая", "июня", "июля", _
"августа", "сентября", "октября", "ноября", "декабря")
MsgBox pr & vbNewLine & "Сегодня " & WeekdayName(Format(Now, "w", vbMonday)) _
& " " & Day(Now) & " " & ms & " " & Year(Now) & " года" & vbNewLine & "Время: " & Format(Now, "Short Time")
End Sub
#VBA #ExcelVBA #Date #Time #Дата #Время
👍2
📅 Вставка текущей даты в ячейки Excel
Вставляем текущую дату в заданном формате в ячейки Excel сочетанием клавиш. 🚀
📌 Код для вставки текущей даты в активную ячейку:
1️⃣ Скопируйте процедуру InsertCurrentDate в стандартный модуль Личной книги макросов.
2️⃣ Перейдите из редактора VBA в Excel, сохраните текущую книгу и откройте окно "Макрос": Разработчик ➔ Макросы.
3️⃣ В списке макросов выберите процедуру PERSONAL.XLSB!InsertCurrentDate и нажмите кнопку "Параметры".
4️⃣ В поле "Сочетание клавиш:" впишите букву "й" (или другую свободную) и нажмите 🆗.
5️⃣ Сохраните текущую книгу и вставляйте текущую дату в ячейки Excel сочетанием клавиш Ctrl+й.
💡 Работа сочетания клавиш зависит от раскладки клавиатуры: если вы назначите - "й", будет работать только сочетание Ctrl+й, сочетание Ctrl+q работать не будет, и наоборот.
#VBA #ExcelVBA #Date #Ячейка #Дата #СочетаниеКлавиш
Вставляем текущую дату в заданном формате в ячейки Excel сочетанием клавиш. 🚀
📌 Код для вставки текущей даты в активную ячейку:
Sub InsertCurrentDate()
' Вставляем текущую дату в активную ячейку
ActiveCell.Value = Format(Date, "dd.mm.yyyy")
End Sub
1️⃣ Скопируйте процедуру InsertCurrentDate в стандартный модуль Личной книги макросов.
2️⃣ Перейдите из редактора VBA в Excel, сохраните текущую книгу и откройте окно "Макрос": Разработчик ➔ Макросы.
3️⃣ В списке макросов выберите процедуру PERSONAL.XLSB!InsertCurrentDate и нажмите кнопку "Параметры".
4️⃣ В поле "Сочетание клавиш:" впишите букву "й" (или другую свободную) и нажмите 🆗.
5️⃣ Сохраните текущую книгу и вставляйте текущую дату в ячейки Excel сочетанием клавиш Ctrl+й.
💡 Работа сочетания клавиш зависит от раскладки клавиатуры: если вы назначите - "й", будет работать только сочетание Ctrl+й, сочетание Ctrl+q работать не будет, и наоборот.
#VBA #ExcelVBA #Date #Ячейка #Дата #СочетаниеКлавиш
👍1
📅 Вставка текущей даты в ячейки Excel
У меня уже был пост на эту тему, но дата вставлялась в активную ячейку в текстовом формате с текстовым выравниванием. После редактирования даты или просто после вставки курсора в ячейку, дата пересохранялась в числовом формате со сменой выравнивания на противоположное. Внешний вид столбца с датами получался - не очень. Я подправил код, чтобы дата сразу вставлялась в числовом формате. 🚀
📌 Код для вставки текущей даты в активную ячейку:
1️⃣ Скопируйте процедуру InsertCurrentDate в стандартный модуль Личной книги макросов.
2️⃣ Перейдите из редактора VBA в Excel, сохраните текущую книгу и откройте окно "Макрос": Разработчик ➔ Макросы.
3️⃣ В списке макросов выберите процедуру PERSONAL.XLSB!InsertCurrentDate и нажмите кнопку "Параметры".
4️⃣ В поле "Сочетание клавиш:" впишите букву "й" (или другую свободную) и нажмите 🆗.
5️⃣ Сохраните текущую книгу и вставляйте текущую дату в ячейки Excel сочетанием клавиш Ctrl+й.
💡 Работа сочетания клавиш зависит от раскладки клавиатуры: если вы назначите - "й", будет работать только сочетание Ctrl+й, сочетание Ctrl+q работать не будет, и наоборот.
#VBA #ExcelVBA #Date #Ячейка #Дата #СочетаниеКлавиш
У меня уже был пост на эту тему, но дата вставлялась в активную ячейку в текстовом формате с текстовым выравниванием. После редактирования даты или просто после вставки курсора в ячейку, дата пересохранялась в числовом формате со сменой выравнивания на противоположное. Внешний вид столбца с датами получался - не очень. Я подправил код, чтобы дата сразу вставлялась в числовом формате. 🚀
📌 Код для вставки текущей даты в активную ячейку:
Sub InsertCurrentDate()
' Вставляем текущую дату в активную ячейку
With ActiveCell
.NumberFormat = "dd.mm.yyyy"
.Value = Date
End With
End Sub
1️⃣ Скопируйте процедуру InsertCurrentDate в стандартный модуль Личной книги макросов.
2️⃣ Перейдите из редактора VBA в Excel, сохраните текущую книгу и откройте окно "Макрос": Разработчик ➔ Макросы.
3️⃣ В списке макросов выберите процедуру PERSONAL.XLSB!InsertCurrentDate и нажмите кнопку "Параметры".
4️⃣ В поле "Сочетание клавиш:" впишите букву "й" (или другую свободную) и нажмите 🆗.
5️⃣ Сохраните текущую книгу и вставляйте текущую дату в ячейки Excel сочетанием клавиш Ctrl+й.
💡 Работа сочетания клавиш зависит от раскладки клавиатуры: если вы назначите - "й", будет работать только сочетание Ctrl+й, сочетание Ctrl+q работать не будет, и наоборот.
#VBA #ExcelVBA #Date #Ячейка #Дата #СочетаниеКлавиш
👍5😎1