Я пишу макрос в VBA.У меня есть цикл, который просматривает список дат, и каждая запись, где минута 00,15.30.45
, копирует дату и время в новый столбец.Это только часть кода, над которым я работаю, поэтому сейчас он кажется бессмысленным.Моя проблема в том, что мне нужно изменить время, которое копируется в новый столбец.Мне нужно, чтобы дата оставалась неизменной, но время должно быть изменено так:
hh:00 becomes hh-1:45
hh:15 becomes hh :00
hh:30 becomes hh :15
hh:45 becomes hh :30
У меня ниже текущего кода, который у меня есть, и все работает, за исключением, очевидно, что оно не изменяет время, потому что я только что сделалчтобы понять, что я хочу сделать.Какой код мне нужно изменить час и минуту?Спасибо!
Dim X As Integer
Range("A2").Select
NumRows = Range(Selection, Selection.End(xlDown)).Rows.Count
Range("A2").Select
For X = 2 To NumRows
If (Minute(ActiveCell.Value) = 0) Then
Range("D2").Value = ActiveCell.Value
Range("D2").NumberFormat = "YYYY-MM-DD HH-1:45"
ElseIf (Minute(ActiveCell.Value) = 15) Then
Range("D2").Value = ActiveCell.Value
Range("D2").NumberFormat = "YYYY-MM-DD HH:00"
ElseIf (Minute(ActiveCell.Value) = 30) Then
Range("D2").Value = ActiveCell.Value
Range("D2").NumberFormat = "YYYY-MM-DD HH:15"
ElseIf (Minute(ActiveCell.Value) = 45) Then
Range("D2").Value = ActiveCell.Value
Range("D2").NumberFormat = "YYYY-MM-DD HH:30"
End If
Selection.Offset(1, 0).Select
Next X