Разделение даты и времени в VBA - PullRequest
0 голосов
/ 08 марта 2019

По моим данным, формат даты и времени 15-02-2019 19:56 в одном столбце. Я хочу разделить дату и время отдельным столбцом.

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Обратите внимание, что при использовании даты / даты-времени то, что Excel показывает в ячейке, не является тем, что Excel сохраняет как значение в ячейке.Значение, которое Excel сохраняет для этой даты, на самом деле составляет 43511,83056, то есть число дней с 1900-01-01.Таким образом, время является частью одного дня и, следовательно, представляется частью после запятой этого значения.

enter image description here

Так что вы можете использовать ...

  • =INT(B1), чтобы получить только дату (и отформатировать ячейку как дату)
  • =B1-INT(B1), чтобы получить только время (и отформатировать ячейку как время)

Или просто используйте то же значение, что и в столбце B (=B1 в C и D), и просто отформатируйте один как дату и один как время.


В VBA вы можете использовать ту же технику:

Option Explicit

Public Sub SplitDateAndTime()
    Dim MyDateTime As Date
    MyDateTime = Range("B1").Value

    'get date
    Range("C1").Value = Int(MyDateTime)
    Range("C1").NumberFormat = "YYYY-MM-DD"

    'get time
    Range("D1").Value = MyDateTime - Int(MyDateTime)
    Range("D1").NumberFormat = "hh:mm:ss"
End Sub
0 голосов
/ 08 марта 2019

Предполагая дату и время в ячейке A1,

используйте приведенную ниже формулу в B1

=--TEXT(A1,"dd/MMM/yyyy")

и используйте приведенную ниже формулу в C1

=--TEXT(A1,"hh:mm:ss")

, выберите B1 и C1 и настройте формат даты и времени.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...