Witam.
W jaki sposób najszybciej można połączyć kilka arkuszy wykorzystując do tego SQL?
Biorąc pod uwagę oczywiście, że wszystkie kolumny mają takie same nazwy.
Pozdrawiam.
Michał.
Witam.
W jaki sposób najszybciej można połączyć kilka arkuszy wykorzystując do tego SQL?
Biorąc pod uwagę oczywiście, że wszystkie kolumny mają takie same nazwy.
Pozdrawiam.
Michał.
Poniższy kod łączy w bieżącym arkuszu dane z dwóch arkuszy o nazwach Dane1, Dane2 ze wskazanego skoroszytu. Oczywiście wymaga referencji do biblioteki ADO.
Sub PolaczArkusze() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim SQL As String Const Plik As String = "C:\EX04\DaneDoPolaczenia.xls" cn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0" & _ ";Data Source=" & Plik & _ ";Extended Properties=""Excel 8.0;HDR=Yes;"";" cn.Open SQL = "select * from [Dane1$] union all select * from [Dane2$]" rs.Open SQL, cn ActiveSheet.UsedRange.ClearContents Range("A1").CopyFromRecordset rs On Error Resume Next rs.Close Set rs = Nothing cn.Close Set cn = Nothing End Sub