Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten per VBA aus einer anderen Tabelle importiere

Daten per VBA aus einer anderen Tabelle importiere
Marc
Hallo,
kann man per VBA Daten aus einer anderen Tabelle importieren ?
Ich bin mit VBA noch ziemlich am Anfang und würde gerne folgendes umsetzen: Ich habe zwei Tabellen, eine mit dem Namen "Datenbank", in der sich auf Blatt1 eine große Zahl von Daten befindet und eine mit dem Namen "Suche", in die ich die Daten gerne importieren würde.
Nun suche ich nach einem Weg, dass beim Öffnen der "Suche"-Datei als Teil von Workbook_Open die Daten aus der "Datenbank"-Datei importiert werden. Importiert sollen nur die Daten werden, also keine Formeln, Formate etc.
Die Anzahl und Anordnung der Spalten ist dabei in beiden Dateien identisch (hier: Spalten A bis L).
Kann mir jemand sagen, ob so etwas geht und bei der Umsetzung helfen ?
VG und vielen Dank im Voraus für jeden Tipp !
Marc

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten per VBA aus einer anderen Tabelle importiere
07.06.2012 16:34:48
Josef

Hallo Marc,
ungetestet auf deiner Beschreibung aufbauend.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
  importData
End Sub


' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub importData()
  Dim objADO As Object
  Dim strPath As String, strSheet As String, strRef As String
  
  strPath = "E:\Forum\daten.xls" 'Datendatei - Anpassen!
  strSheet = "Tabelle1" 'Tabelle mit den Daten - Anpassen!
  strRef = "A:L" 'Bereich - Anpassen
  
  Set objADO = ExcelTable(strPath, strSheet, strRef)
  
  ThisWorkbook.Sheets("Datenbank").Range("A2").CopyFromRecordset objADO
  'Tabellenname und Ausgabezelle ggf. anpassen!
  
  objADO.Close
  
  Set objADO = Nothing
End Sub


Public Function ExcelTable(ByRef Path As String, ByRef Table As String, ByRef SourceRange As String, Optional WhereString As String = "") As Object
  Dim SQL As String
  Dim Con As String
  
  SQL = "select * from [" & Table & "$" & SourceRange & "] " & WhereString
  
  If Mid(Path, InStrRev(Path, ".") + 1) = "xls" Then
    Con = "Provider=Microsoft.Jet.OLEDB.4.0;" _
      & "Extended Properties=Excel 8.0;" _
      & "Data Source=" & Path & ";"
  ElseIf Mid(Path, InStrRev(Path, ".") + 1) Like "xls?" Then
    Con = "Provider=Microsoft.ACE.OLEDB.12.0;" _
      & "Extended Properties=""Excel 12.0;HDR=YES"";" _
      & "Data Source=" & Path & ";"
  Else
    Exit Function
  End If
  Set ExcelTable = CreateObject("ADODB.Recordset")
  ExcelTable.Open SQL, Con, 3, 1
End Function



« Gruß Sepp »

Anzeige
AW: Daten per VBA aus einer anderen Tabelle importiere
07.06.2012 20:26:41
Marc
Hallo Sepp,
vielen vielen Dank für Deine Antwort - das ist echt klasse !!
Ich werde am Wochenende ausgiebig testen und melde mich dann gerne nochmal !
Bis dahin viele Grüße und nochmals vielen Dank für die schnelle Hilfe - einen schönen Abend noch,
Marc

339 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige