Код VBA для форматирования времени в выбранном случае

Я установил пользовательский числовой формат ГГГГММДД ЧЧ:ММ:СС для двух столбцов, но он не работает с моим кодом VBA. Может кто-нибудь помочь мне с моим кодом, чтобы отформатировать его с помощью VBA.

For i = startRow To lastRow
    Select Case Range("O" & i).Value
        Case "A", "C", "D", "E", "L", "AI", "CI", "DI", "EI", "LI", "AP", "CP", "DP", "EP", "LP"
            Range("N" & i).Value = "19000101" & " " & Range("L" & i).Value
        Case "B", "BI", "BP", "N", "NI", "NP"
            Range("N" & i).Value = "19000102" & " " & Range("L" & i).Value
        Case Else
            Range("N" & i).Value = ""
    End Select
    
Next i

Заранее спасибо :)


1
50
2

Ответы:

Решено

Вам нужно использовать что-то вроде этого;

    Range("N" & i) = "19000101 " & Format(Range("L" & i), "hh:mm")

Поскольку дата/время хранятся в Excel как десятичные числа, попробуйте использовать свойство Text ячеек, содержащих значения времени.

For i = startRow To lastRow
    Select Case Range("O" & i).Value
        Case "A", "C", "D", "E", "L", "AI", "CI", "DI", "EI", "LI", "AP", "CP", "DP", "EP", "LP"
            Range("N" & i).Value = "19000101" & " " & Range("L" & i).Text
        Case "B", "BI", "BP", "N", "NI", "NP"
            Range("N" & i).Value = "19000102" & " " & Range("L" & i).Text
        Case Else
            Range("N" & i).Value = ""
    End Select
    
Next i