Public Sub Exporting()
Dim sArr(), dArr(), vFile
Dim wkb As Workbook, wks As Worksheet, rng As Range
Dim sFile As String, tmp As String
Dim i As Long
vFile = Application.GetOpenFilename("Excel Files, *.xls*")
If TypeName(vFile) = "String" Then
sFile = CStr(vFile)
Application.ScreenUpdating = False
Set wkb = Workbooks.Open(sFile)
Set wks = wkb.Worksheets("Sheet1")
sArr = wks.Range("J14", wks.Range("E60000").End(xlUp)).Value
wkb.Close False
ReDim dArr(1 To UBound(sArr, 1), 1 To 5)
For i = 1 To UBound(sArr, 1)
tmp = Mid(sArr(i, 1), InStr(sArr(i, 1), ":") + 1)
dArr(i, 1) = Left(tmp, Len(tmp) - 5)
dArr(i, 2) = TimeValue(Right(sArr(i, 5), 8))
dArr(i, 3) = DateSerial(Mid(sArr(i, 5), 7, 4), Mid(sArr(i, 5), 4, 2), Left(sArr(i, 5), 2))
If sArr(i, 3) <> Empty Then
dArr(i, 4) = TimeValue(Right(sArr(i, 6), 8))
dArr(i, 5) = DateSerial(Mid(sArr(i, 6), 7, 4), Mid(sArr(i, 6), 4, 2), Left(sArr(i, 6), 2))
End If
Next i
Application.ScreenUpdating = True
On Error Resume Next
Set rng = Application.InputBox("Chon noi de dat", Type:=8)
On Error GoTo 0
If Not rng Is Nothing Then
With rng.Resize(i - 1, 5)
.Value = dArr
.EntireColumn.AutoFit
Union(.Offset(, 1)[COLOR=#ff0000].Resize(, 1)[/COLOR], .Offset(, 3)[COLOR=#ff0000].Resize(, 1)[/COLOR]).NumberFormat = "hh:mm:ss"
Union(.Offset(, 2)[COLOR=#ff0000].Resize(, 1)[/COLOR], .Offset(, 4).[COLOR=#ff0000]Resize(, 1)[/COLOR]).NumberFormat = "dd/mm/yyyy"
End With
End If
End If
Exit Sub
End Sub