Копирование только форматированного значения даты VBA - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь скопировать форматированное значение даты в другую ячейку, содержащую данные, поэтому я не могу отформатировать ячейку, которая получает отформатированную дату.Вот фрагмент кода, с которым я пытаюсь работать

Sub test_sub()
Dim wsDash As Worksheet
Set wsDash = ActiveSheet
Dim dateStartCell As Range
Dim dateEndCell As Range
Dim allDates As Collection
Dim currentDateSter As Variant
Dim currentDate As Date
Dim II As Integer
Dim TargetDate As Variant

II = 60

Set dateStartCell = wsDash.Cells(7, 2)
Set dateEndCell = wsDash.Cells(7, 6)

Set allDates = GetDatesRange(dateStartCell.Value, dateEndCell.Value)

For Each currentDateSter In allDates
    currentDate = CDate(currentDateSter)
    wsDash.Cells(II, 1) = currentDate
    wsDash.Cells(II, 1).NumberFormat = "yyyymmdd"


    wsDash.Cells(II, 2) = "[""VNR""," & """" & wsDash.Cells(II, 1).Value & """" & ",""INTRO""]"
    II = II + 1

Next currentDateSter
End Sub

Проблема в том, что формат не отслеживается при просмотре ячейки.Есть ли способ сделать ячейку только отформатированным значением и убрать подчеркивание?Я попытался создать пользовательский формат со специальными символами на каждой стороне для учета дополнительных данных, а затем форматировать дату в «ГГГГММДД», но, похоже, это не работает.

Можно ли что-то сделать ранее для первоначального форматирования дат в желаемом формате?Я получаю свой диапазон дат с помощью функции GetDatesRange ()

Function GetDatesRange(dateStart As Date, dateEnd As Date) As Collection
    Dim dates As New Collection
    Dim currentDate As Date
    currentDate = dateStart
    Do While currentDate <= dateEnd
        dates.Add currentDate
        currentDate = DateAdd("d", 1, currentDate)
    Loop
    Set GetDatesRange = dates
End Function

Также попытка скопировать значения не работает, так как это просто дает дату в целочисленном значении, а не в числовом стиле.в общем, что должно произойти, это ячейка, в которую вводятся даты, в формате ггггммдд с данными по обе стороны от нее.

...