Thema Datum  Von Nutzer Rating
Antwort
26.05.2021 08:04:43 el_kaeckel
Solved
26.05.2021 08:43:36 Gast52075
NotSolved
26.05.2021 10:30:43 el_kaeckel
NotSolved
Blau Automatisierte Auftragsliste
26.05.2021 11:38:10 Gast52075
NotSolved
26.05.2021 14:13:56 el_kaeckel
NotSolved
26.05.2021 14:57:11 Gast52075
NotSolved
26.05.2021 15:05:00 el_kaeckel
NotSolved
27.05.2021 08:36:33 Gast52075
NotSolved
27.05.2021 09:09:21 el_kaeckel
NotSolved
27.05.2021 09:11:57 el_kaeckel
NotSolved
27.05.2021 10:39:28 Gast52075
NotSolved
27.05.2021 11:48:51 el_kaeckel
NotSolved
27.05.2021 13:54:18 Gast52075
NotSolved
28.05.2021 12:24:24 el_kaeckel
NotSolved

Ansicht des Beitrags:
Von:
Gast52075
Datum:
26.05.2021 11:38:10
Views:
512
Rating: Antwort:
  Ja
Thema:
Automatisierte Auftragsliste

Hallo
das hab ich grad mal mit diversen Suchergebnissen dieses Forums runtergeschrieben.
Ich kommentiere es dir auch mal, damit du es nachvollziehen und ggf. anpassen kannst

Getestet hab ich nur EINE Tabelle je Datei. Ich wollte mir nicht noch Beispieldateien bauen.

Schau mal bitte, ob das deinem Problem hilft.

Grob gesagt: Dateien Öffnen, Bereich kopieren und in die Gesamtliste einfügen. Es wird
immer nur der gleiche Bereich kopiert. Zumindest hab ich so den ersten Post verstanden.

Gruß

--- Makro ---

Option Explicit

Sub DatenHolen()
    Dim strPfad As String
    Dim strDatei As String
    Dim strExt As String
    Dim rngBereich As Range
    
    Dim lngTabMax As Long
    Dim lngTab As Long
    
    Dim lngZmax As Long
    
    Dim WB As Workbook
    Dim WS As Worksheet
    
    Dim wsAusgabe As Worksheet
    
    'Fehlerbehandlung: ist nur das notwendigste
    On Error GoTo Aufräumen
    
    'AusgabeTabelle anpassen
    'eine neue Tabelle wird hinzugefügt
'    Set wsAusgabe = ThisWorkbook.Worksheets.Add
    
    'Fester Name
    Set wsAusgabe = ThisWorkbook.Worksheets("Tabelle1")
    
    Dim booAlleTabellen As Boolean
    
    Dim arrDaten As Variant
    Dim lngArrZmax As Long
    Dim lngArrSmax As Long
    
    'Pfadname anpassen
    strPfad = "C:\temp\test\"
    If Right(strPfad, 1) <> "\" Then strPfad = strPfad & "\"
    
    'Dateiendung anpassen
    strExt = "*.xls*"
        
    'Bereich der zu durchsuchenden Zellen anpassen
    Set rngBereich = Range("A1:C20")
    
    'Anpassen: False = nur erste Tabelle; True = alle Tabellen
    booAlleTabellen = False
    
    If booAlleTabellen = False Then
        lngTabMax = 1
        Else
        lngTabMax = WB.Worksheets.Count
    End If
    
    'Erste Datei suchen
    strDatei = Dir(strPfad & strExt)
    'Solange noch Dateien da sind
    Do While Len(strDatei) > 0
        'Datei öffnen
        Set WB = Workbooks.Open(Filename:=strPfad & strDatei, ReadOnly:=True)
        If Not WB Is Nothing Then
            'Wenn Datei offen dann alle gewünschten
            'Tabellen durchgehen (eine oder alle)
            For lngTab = 1 To lngTabMax
                'Tabelle auswählen
                Set WS = WB.Worksheets(lngTab)
                'Bereich in Variable schreiben
                arrDaten = WS.Range(rngBereich.Address)
                'Zielzeile suchen
                lngZmax = wsAusgabe.Cells(2 ^ 16, 1).End(xlUp).Row + 1
                'Arraygröße ermitteln
                lngArrZmax = UBound(arrDaten, 1)
                lngArrSmax = UBound(arrDaten, 2)
                'Daten ausgeben
                wsAusgabe.Range(wsAusgabe.Cells(lngZmax, 1), wsAusgabe.Cells(lngZmax + lngArrZmax - 1, lngArrSmax)) = arrDaten
            Next lngTab
            'Datei schliessen
            WB.Close False
        End If
        'nächste Datei
        strDatei = Dir()
    Loop


Aufräumen:
    'Notfalls Datei schliessen
    On Error Resume Next
    WB.Close False
    On Error GoTo 0
    
    'Variablen zurücksetzen
    Set WB = Nothing
    Set WS = Nothing
    Set rngBereich = Nothing
    Set wsAusgabe = Nothing
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.05.2021 08:04:43 el_kaeckel
Solved
26.05.2021 08:43:36 Gast52075
NotSolved
26.05.2021 10:30:43 el_kaeckel
NotSolved
Blau Automatisierte Auftragsliste
26.05.2021 11:38:10 Gast52075
NotSolved
26.05.2021 14:13:56 el_kaeckel
NotSolved
26.05.2021 14:57:11 Gast52075
NotSolved
26.05.2021 15:05:00 el_kaeckel
NotSolved
27.05.2021 08:36:33 Gast52075
NotSolved
27.05.2021 09:09:21 el_kaeckel
NotSolved
27.05.2021 09:11:57 el_kaeckel
NotSolved
27.05.2021 10:39:28 Gast52075
NotSolved
27.05.2021 11:48:51 el_kaeckel
NotSolved
27.05.2021 13:54:18 Gast52075
NotSolved
28.05.2021 12:24:24 el_kaeckel
NotSolved