Bạn thử như sau:
[GPECODE=sql]
Sub Loc_HLMT()
Dim adoConn As Object, adoRS As Object
Set adoConn = CreateObject("ADODB.Connection")
Set adoRS = CreateObject("ADODB.Recordset")
With adoConn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.FullName & _
";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
.Open
End With
With adoRS
.ActiveConnection = adoConn
If Sheet3.Range("E4") = "" Then
.Open "SELECT F1,F2,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,F21,F22,F23,F24,F25,F26,F27,F28,F29,F30,F31,F32,F33,F34,F35,F36,F37,F38 " & _
"FROM [TN2014$A2:AL5000] " & _
"WHERE F7 BETWEEN #" & Format(Sheet3.[E5].Value, "dd-MMM-yyyy") & "# AND #" & _
Format(Sheet3.[E6].Value, "dd-MMM-yyyy") & "# "
Else
.Open "SELECT F1,F2,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,F21,F22,F23,F24,F25,F26,F27,F28,F29,F30,F31,F32,F33,F34,F35,F36,F37,F38 " & _
"FROM [TN2014$A2:AL5000] " & _
"WHERE F7 BETWEEN #" & Format(Sheet3.[E5].Value, "dd-MMM-yyyy") & "# AND #" & _
Format(Sheet3.[E6].Value, "dd-MMM-yyyy") & "# and F6 like '" & Sheet3.[E4] & "'"
End If
End With
With Sheet3
.[B8:AM500].ClearContents
.[B8].CopyFromRecordset adoRS
End With
adoRS.Close: Set adoRS = Nothing
adoConn.Close: Set adoConn = Nothing
End Sub[/GPECODE]
Em đã điều chỉnh lại được rồi!