Bạn dùng code sau nhé:
[GPECODE=sql]Sub Union_HLMT()
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
var1 = ""
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [GIANG$A2:V1000] " & vbCrLf
var1 = var1 & "UNION ALL " & vbCrLf
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [HOA$A2:V1000] " & vbCrLf
var1 = var1 & "UNION ALL " & vbCrLf
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [HA$A2:V1000] " & vbCrLf
var1 = var1 & "UNION ALL " & vbCrLf
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [TUAN$A2:V1000] " & vbCrLf
var1 = var1 & "UNION ALL " & vbCrLf
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [HUY$A2:V1000] " & vbCrLf
var1 = var1 & "UNION ALL " & vbCrLf
var1 = var1 & "SELECT F1, " & vbCrLf
var1 = var1 & " F3, " & vbCrLf
var1 = var1 & " F4, " & vbCrLf
var1 = var1 & " F9, " & vbCrLf
var1 = var1 & " F12 " & vbCrLf
var1 = var1 & "FROM [HIEP$A2:V1000] "
With adoRS
.ActiveConnection = adoConn
.Open var1
End With
With Sheets("tonghop")
.[A2:AP65000].ClearContents
.[A2].CopyFromRecordset adoRS
End With
adoRS.Close: Set adoRS = Nothing
adoConn.Close: Set adoConn = Nothing
End Sub
[/GPECODE]