Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 4
  • 57

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ł.

Michał_Gwiazdonik
  • Zapytał
  • @ Michał_Gwiazdonik | 29.03.2016
    • lider
    • laureat
    • 13
    • 9
    • 51

Odpowiedź (1)

  • 4

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



  • Odpowiedział
  • @ | 04.04.2016
  • TRENER ALTKOM AKADEMII
Komentarze
Dziękuję Darku, będę testował. :)
Skomentował : @ Michał_Gwiazdonik ,04.04.2016
  • 13
  • 9
  • 51