Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datenimport aus mehreren excel tabellen

Datenimport aus mehreren excel tabellen
29.01.2018 19:59:03
Okan
Guten Tag,
Ich habe ein Problem, was ich selber nicht bewältigen kann.
Ich möchte bestimmte Daten aus allen Excel Tabellen, aus einem fixierten Ordnerpfad, in eine andere bestehende Excel Tabelle einlesen.
Als Beispiel: Ich möchte, dass Zellen A1:B2 aus allen Excel Tabellen in dem Ordnerpfad Desktop in die Excel Datei excel neu (welche geöffnet ist und aus dem das Makro agieren werden soll) in Zellen A1:B20.
Dabei soll nach Datum sortiert werden und das aktuellste ganz oben stehen.
Bei dem Fall, wo mehr externe Daten vorhanden sind als der Bereich in dem importiert werden soll, sollen die ältesten externen Daten nicht betrachtet werden.
Ich bedanke mich im Voraus für alle Vorschläge.

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenimport aus mehreren excel tabellen
29.01.2018 20:23:54
Sepp
Hallo Okan,
da gibt es viele Möglichkeiten. Aber ein paar Infos musst du schon geben.
  • Haben die Daten überschriften?

  • Wie heißt die Tabelle aus der importiert werden soll?

  • Hat die Tabelle in die importiert wird Überschriften?

  • Sollen vorhandene Daten aus einem früheren import gelöscht/überschrieben werden?

Gruß Sepp

AW: Datenimport aus mehreren excel tabellen
30.01.2018 09:13:58
Okan
Guten Tag Sepp,
Die Tabellen aus dem Importiert werden soll heißen
Partikelfallenanalyse_CAR_LV_210621_26.01.2018
lediglich das Datum ändert sich.
Die Dateien befinden sich in dem Ordner
C:\Users\firato\Desktop\Praxismodul\Praxismodul3\Versuchsordner_Analyseergebnisse_Partikelfalle\LV_210621
Die Daten aus einem früheren Import sollen überschrieben werden.
Es sind keine Überschriften vorhanden.
Anzeige
AW: Datenimport aus mehreren excel tabellen
30.01.2018 09:31:45
Sepp
Hallo Okan,
die Datei heißt z.B. 'Partikelfallenanalyse_CAR_LV_210621_26.01.2018.xlsx', oder?
Wie heißt das Tabellenblatt?
Gruß Sepp

AW: Datenimport aus mehreren excel tabellen
30.01.2018 09:31:47
Sepp
Hallo Okan,
die Datei heißt z.B. 'Partikelfallenanalyse_CAR_LV_210621_26.01.2018.xlsx', oder?
Wie heißt das Tabellenblatt?
Gruß Sepp

AW: Datenimport aus mehreren excel tabellen
30.01.2018 09:45:18
Okan
Guten Tag Sepp,
ja die Datei heißt 'Partikelfallenanalyse_CAR_LV_210621_26.01.2018.xlsx'
Das Tebellenblatt heißt Report
VG Okan
Anzeige
AW: Datenimport aus mehreren excel tabellen
30.01.2018 10:04:28
Okan
Guten Tag Sepp,
funktioniert super. Ich danke dir.
VG Okan
AW: Datenimport aus mehreren excel tabellen
30.01.2018 10:19:30
Okan
Hi Sepp,
eine Frage habe ich noch,
was muss ich ändern, wenn ich die Inhalte der Zellen nicht in A und B haben will sondern in B und C.
Danke im Voraus.
AW: Datenimport aus mehreren excel tabellen
30.01.2018 10:31:00
Sepp
Hallo Okan,
dazu muss man nur in folgender Prozedur zwei Änderungen vornehmen.
Public Sub importData()
Dim objFileSearch As clsFileSearch
Dim lngIndex As Long, lngCount As Long
Dim varOutput As Variant
Dim strPath As String, strFormula As String

Const cstrTabname As String = "Report" 'Tabellenname

strPath = _
  "C:\Users\firato\Desktop\Praxismodul\Praxismodul3\Versuchsordner_Analyseergebnisse_Partikelfalle\LV_210621" 'Startverzeichnis

If Right(strPath, 1) <> "\" Then strPath = strPath & "\"

With Tabelle1
  
  .Range("B:C").ClearContents
  
  Set objFileSearch = New clsFileSearch
  
  With objFileSearch
    .NewSearch = True
    .CaseSenstiv = False
    .Extension = "*.xls*"
    .FolderPath = strPath
    .SearchLike = "*Partikelfallenanalyse_CAR_LV_210621_*"
    .SubFolders = False
    If .Execute(Sort_by_Date_Create, Sort_Order_Descending) > 0 Then
      Redim varOutput(1 To 20, 1 To 2)
      lngCount = 1
      For lngIndex = 1 To .FileCount
        If lngCount > 20 Then Exit For
        strFormula = "='" & .Files(lngIndex).FI_FolderPath
        strFormula = strFormula & "[" & .Files(lngIndex).FI_FileName & "]"
        strFormula = strFormula & cstrTabname & "'!"
        varOutput(lngCount, 1) = strFormula & "A1"
        varOutput(lngCount, 2) = strFormula & "B1"
        varOutput(lngCount + 1, 1) = strFormula & "A2"
        varOutput(lngCount + 1, 2) = strFormula & "B2"
        lngCount = lngCount + 2
      Next
    End If
  End With
  With .Range("B1").Resize(UBound(varOutput, 1), 2)
    .Formula = varOutput
    .Value = .Value
  End With
End With

Set objFileSearch = Nothing

End Sub

Gruß Sepp

Anzeige
AW: Datenimport aus mehreren excel tabellen
30.01.2018 10:33:57
Okan
Hi Sepp,
habe es selber gefunden wie man die Startzelle benennt.
Mir fällt noch eine Frage ein. Was, wenn ich nun die Zellen B - C importieren will.
Wie müsste ich das Makro anpassen?
VG
Okan
AW: Datenimport aus mehreren excel tabellen
30.01.2018 10:36:43
Sepp
Hallo Okan,
dazu musst du diese Zeile und ff. ändern.
aus
varOutput(lngCount, 1) = strFormula & "A1"

wird
varOutput(lngCount, 1) = strFormula & "B1"

usw.
Gruß Sepp

Anzeige
AW: Datenimport aus mehreren excel tabellen
30.01.2018 10:58:41
Okan
Ich danke dir Sepp.
VG
Okan
AW: Datenimport aus mehreren excel tabellen
30.01.2018 11:17:30
Okan
Guten Tag Sepp,
wenn ich das Makro Public Sub importData() in die Tabelle einfüge, wo ich sie benötige, funktioniert sie leider nicht.
Der Tabellenname lautet LV_210621
Muss ich alles Nutzen (Klassenmodule, usw.)
VG
Okan
AW: Datenimport aus mehreren excel tabellen
30.01.2018 11:22:37
Sepp
Hallo Okan,
ja, du musst alles in die Datei übernehmen, das Klassenmodul ist sorgar das wichtigste und es muss 'clsFileSearch' heißen!
Am einfachsten die beiden Module per Drag&Drop in die Datei übernehmen.
Im Code bei
With Tabelle1
gibst du die entsprechende Tabelle an, entweder per CodeName
With CodeName_der_Tabelle

oder mt ihrem Namen
With Sheets"LV_210621")

Gruß Sepp

Anzeige
AW: Datenimport aus mehreren excel tabellen
30.01.2018 11:33:01
Okan
Hi Sepp,
danke. Funktioniert.
Jetzt hoffe ich nur noch, dass ich die Abläufe nachvollziehen kann.
VG
Okan
AW: Datenimport aus mehreren excel tabellen
30.01.2018 13:52:59
Okan
Guten Tag Sepp,
was bedeutet "kernel32.dll" ?
und wofür steht diese
Private Enum FILE_ATTRIBUTE
FILE_ATTRIBUTE_READONLY = &H1
FILE_ATTRIBUTE_HIDDEN = &H2
FILE_ATTRIBUTE_SYSTEM = &H4
FILE_ATTRIBUTE_DIRECTORY = &H10
FILE_ATTRIBUTE_ARCHIVE = &H20
FILE_ATTRIBUTE_NORMAL = &H80
FILE_ATTRIBUTE_TEMPORARY = &H100
End Enum
funktion?
VG
Okan
AW: Datenimport aus mehreren excel tabellen
30.01.2018 14:27:32
Sepp
Hallo Okan,
'kernel32.dll' ist eine Systemdatei, eine Dinamic Link Library auf die per API-Funktionen (API=Application Programming Interface) zugegriffen wird.
Das Enum-Statement deklarierte eine Enumeration in der Enumerationsvariablen festgelegt werden, auf die Funktionen oder Prozeduren dann zugreifen können.
Gruß Sepp

Anzeige

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige