Если я открою столбец времени CSV с Excel, он будет выглядеть следующим образом:
Start time End time
3:22 PM 3:24 PM
3:22 PM 3:25 PM
3:22 PM 3:23 PM
3:23 PM 3:25 PM
3:22 PM 3:23 PM
Я создал диалоговое окно файла для открытия CSV на новом листе, как это:
'OPEN CSV
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & GetFile, Destination:=Range( _
"$A$2"))
.Name = "SessionDetailReport20180921084657"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
где GetFile - это функция:
Function GetFile() As String
Dim filename__path As Variant
filename__path = Application.GetOpenFilename(FileFilter:="Csv (*.CSV), *.CSV", Title:="Select File To Be Opened")
If filename__path = False Then Exit Function
GetFile = filename__path
End Function
Она отлично работает, но время выглядит так:
Start time End time
32200 PM 32400 PM
32200 PM 32500 PM
32200 PM 32300 PM
32300 PM 32500 PM
32200 PM 32300 PM
Я перепробовал все из формата ячейки, чтобы воссоздать время из формул, но все женичего такого.Как я могу сделать это?Большое спасибо.