Thema Datum  Von Nutzer Rating
Antwort
06.02.2017 17:44:02 Bastian
NotSolved
06.02.2017 21:10:44 Gast67688
NotSolved
07.02.2017 09:46:14 Bastian
NotSolved
Blau vba abfrage mit excel
07.02.2017 10:13:40 Bastian
NotSolved
07.02.2017 14:30:25 Bastian
NotSolved

Ansicht des Beitrags:
Von:
Bastian
Datum:
07.02.2017 10:13:40
Views:
642
Rating: Antwort:
  Ja
Thema:
vba abfrage mit excel

Dim fso As Object
Sub ImportData()
    Dim col As New Collection, file As Variant, wb As Workbook, rngDest As Range
    'Ordner der die Dateien enthält
    Const FOLDER = "C:\Users\***\Desktop\test auslesen"
    'Filesystemobject
    Set fso = CreateObject("Scripting.FileSystemObject")
    'alle Excel-Dateien rekursiv listen
    getAllFiles fso.GetFolder(FOLDER), True, Array("xlsx", "xls"), col
    'Screenupdates und eventuelle Dialoge für Batchbetrieb unterdrücken
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    With Sheets(1)
    'nächste freie Zelle in Spalte A ermitteln
    Set rngDest = .Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
    'Für jede Excel-Datei
    For Each file In col
     'Workbook öffnen
    Set wb = Workbooks.Open(file)
    'Range B20:B21 ins Sheet kopieren
    wb.Sheets(1).Range("C2").Copy rngDest
    wb.Sheets(2).Range("D4:D41").Copy rngDest
    wb.Sheets(3).Range("F4:F41").Copy rngDest
    wb.Sheets(4).Range("G4:G41").Copy rngDest
    wb.Sheets(5).Range("H4:H41").Copy rngDest
    'WB schließen
    wb.Close False
    'nächste freie Zelle setzen
    Set rngDest = rngDest.Offset(5, 0)
    Next
    End With
    'Screenupdates und Dialoge wieder einschalten
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Sub getAllFiles(ByVal fldr As Object, boolRecursion As Boolean, arrFileExtensions As Variant, ByRef col As Collection)
    For Each file In fldr.Files
        For i = 0 To UBound(arrFileExtensions)
            If LCase(arrFileExtensions(i)) = LCase(fso.GetExtensionName(file.Path)) Then
                col.Add file.Path
                Exit For
            End If
        Next
    Next
    If boolRecursion Then
        For Each subFolder In fldr.SubFolders
            getAllFiles subFolder, True, arrFileExtensions, col
        Next
    End If
End Sub

 

Das war mal mein Versuch... leider klappt es nicht so wie ich´s mir wünsche. Die Datei soll mit z.B. auf dem Reiter (Tabellenblatt "Auswertung") immer die erste Seite der gefundenen Excel Dateien ausgeben..... Wie kann ich das lösen??

Wichtig, dass immer das Datum aus C2 wieder vor die neue Zeile mit werten wiederholt wird, wenn in den anderen Zeilen werte gefunden werden.

 

Gruß


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
06.02.2017 17:44:02 Bastian
NotSolved
06.02.2017 21:10:44 Gast67688
NotSolved
07.02.2017 09:46:14 Bastian
NotSolved
Blau vba abfrage mit excel
07.02.2017 10:13:40 Bastian
NotSolved
07.02.2017 14:30:25 Bastian
NotSolved