schwalbepilot
Goto Top

Excel VBA Datein auslesen

Hallo,

ich benutze MS Excel 2010 und bräuchte ein Makro, zum auslesen mehrerer Excel Datein. Diese befinden sich alle in einam Ordner. Aus jeder Tabelle bräuchte ich die Werte aus Zelle K1 und K2. Diese Werte möchte ich einfach in eine neue Excel Tabelle schreiben.

Danke

Content-Key: 327990

Url: https://administrator.de/contentid/327990

Printed on: April 23, 2024 at 08:04 o'clock

Member: H41mSh1C0R
H41mSh1C0R Jan 31, 2017 at 05:36:24 (UTC)
Goto Top
Moin,

Stichwort --> Makrorecorder!

VG
Member: schwalbepilot
schwalbepilot Jan 31, 2017 at 06:34:43 (UTC)
Goto Top
Hallo,

das Problem ist aber, ich müsste jedes Dokument einzeln öffnen, bei <1000 Dokumenten gestaltet sich das etwas schwierig.

Gruß
Mitglied: 132272
132272 Jan 31, 2017 at 06:47:56 (UTC)
Goto Top
Member: schwalbepilot
schwalbepilot Jan 31, 2017 at 14:15:32 (UTC)
Goto Top
Danke, hat mir aber leider auch nicht so viel weitergeholfen.
Mitglied: 132272
Solution 132272 Jan 31, 2017 updated at 14:57:05 (UTC)
Goto Top
Zitat von @schwalbepilot:

Danke, hat mir aber leider auch nicht so viel weitergeholfen.
Wow noch nicht mal in der Lage zwei Zeilen zu ändern ...
Sub CopyCells()
    Dim strPath As String, ws As Worksheet, cFile As String
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    'Pfad in dem die Dateien liegen (Default ist hier der Pfad in dem diese Datei liegt)  
    strPath = ThisWorkbook.Path
    'Alle *.xlsx Dateien suchen  
    cFile = Dir(strPath & "\*.xlsx")  
    With ActiveSheet
        'Jede *.xlsx Datei im aktuellen Verzeichnis öffnen  
        Do While cFile <> ""  
            'Datei öffnen und erstes Sheet referenzieren  
            Set ws = GetObject(strPath & "\" & cFile).Sheets(1)  
            With .Cells(Rows.Count, "B").End(xlUp).Offset(1, 0)  
                .Resize(1,2).Value = Worksheetfunction.Transpose(ws.Range("K1:K2"))  
                .Offset(0,2).Value = cFile
            End with
            'Datei wieder schließen  
            ws.Parent.Close False
            'nächste Datei holen  
            cFile = Dir
        Loop
        'Spaltenbreiten der Liste anpassen  
        .Range("A:B").EntireColumn.AutoFit  
    End With
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    ' Fertig  
    MsgBox "Alle Dateien wurden eingelesen", vbInformation  
End Sub
Member: schwalbepilot
schwalbepilot Jan 31, 2017 at 14:57:07 (UTC)
Goto Top
Den ihr Makro macht etwas anderes, als ich will und ja, ich bin nicht in der Lage das Makro abzuändern, da ich ein Anfänger bin.
Mitglied: 132272
132272 Jan 31, 2017 updated at 15:11:58 (UTC)
Goto Top
Zitat von @schwalbepilot:

Den ihr Makro macht etwas anderes, als ich will
Nö,...nicht wirklich anders ... s. Code im letzten Kommentar.
da ich ein Anfänger bin.
Das lässt sich mit minimal lesen beheben.
Jeder fängt mal an aber sich zumindest die Mühe machen es erst mal selbst zu versuchen sieht man hier leider keinen Schimmer von face-sad noch nicht mal einen minimalen Fetzen Code.
Member: schwalbepilot
schwalbepilot Jan 31, 2017 at 18:43:24 (UTC)
Goto Top
Cool, danke, es funktioniert