Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Bestimmte Werte aus Sheet in neue Datei

Betrifft: Bestimmte Werte aus Sheet in neue Datei von: Alex
Geschrieben am: 23.07.2020 08:30:07

Hallo Zusammen,

mir wurde in dieser Community beim erstellen dieses Makros extrem geholfen. Nochmals vielen Dank!
Nun stehe ich vor der nächsten Herausforderung und weiß nicht so recht weiter.

Die Erklärung:

Ich habe einen Ordner wo ich regelmäßig Datenauszüge ablege. (Alle Dateien haben den gleichen Aufbau)
Aus diesem Ordner, nun möchte ich per makro Daten extrahieren. Diese Daten sollen dann ab der Zelle A3 in die neue Datei geladen werden, Wichtig ist dabei das nur die Daten in die neue Datei geladen werden sollen, die das Kürzel "MS" als Bereich stehen haben. Anbei mein Code. Würde sich hier soll eine Funktion noch einbauen lassen?
Anbei eine Datei wie das Ergebnis der Abfrage aussehen würde: https://www.herber.de/bbs/user/139225.xlsx
Und hier die Datei inklusive des Makros: https://www.herber.de/bbs/user/139227.xlsm

Bin über jede Hilfe dankbar!
LG
Alex

Betrifft: AW: Bestimmte Werte aus Sheet in neue Datei
von: Regina Resch-Jansen
Geschrieben am: 23.07.2020 08:55:44

Hi Alex,

teste Deine Import-Sub mal so:
Sub prcImport(wksZiel As Worksheet, varFolder, varSheet)
    'wksZiel    = Tabelenblatt in das die Daten importiert werden sollen
    'varFolder  = Datei-Ordner in dem die neueste Datei gesucht werden soll
    'varSheet   = Blattname oder Index-Nummer des Blatts mit den zu importierenden Daten
    Dim wkbImport As Workbook
    Dim wksImport As Worksheet
    Dim Zei_L As Long
    Dim zei_S As Long
    Dim varDateiquelle
    
    'Startzeile für Import der Daten
    zei_S = 2
    With wksZiel
        'Altdaten im Blatt ggf. löschen
        Zei_L = .UsedRange.Row + .UsedRange.Rows.Count - 1
        If Zei_L > zei_S Then
            .Range(.Rows(zei_S + 1), .Rows(Zei_L)).ClearContents
        End If
    End With
    
    varDateiquelle = fncGetNewFile(varFolder)
    
    If varDateiquelle = "" Then
        MsgBox "Keine Excel-Dateien im Ordner """ & varFolder & """ gefunden.", _
            vbInformation + vbOKOnly, "Makro: prcImport"
    Else
        Set wkbImport = Application.Workbooks.Open(Filename:=varDateiquelle, ReadOnly:=True)
        Set wksImport = wkbImport.Worksheets(varSheet)
        With wksImport
            zei_S = 3
            Zei_L = 3
            Do Until .Cells(Zei_L, 1) = ""
                If .Cells(Zei_L, 3) = "MS" Then
                    .Range(.Cells(Zei_L, 1), .Cells(Zei_L, 14)).Copy
                    wksZiel.Cells(zei_S, 1).PasteSpecial Paste:=xlPasteValues
                    zei_S = zei_S + 1
                End If
                Zei_L = Zei_L + 1
            Loop
        End With
        Application.CutCopyMode = False
        wkbImport.Close savechanges:=False
    End If
            
End Sub
Gruß Regina

Betrifft: AW: Bestimmte Werte aus Sheet in neue Datei
von: Alex
Geschrieben am: 23.07.2020 09:29:13

Hallo Regina,

vielen dank!

Hmm bekomme leider Fehlermeldungen, kann aber auch daran liegen, dass ich deinen teil falsch reinkopiert habe. Wie würde denn der makro komplett aussehen?

LG
Alex

Betrifft: AW: Bestimmte Werte aus Sheet in neue Datei
von: Regina Resch-Jansen
Geschrieben am: 23.07.2020 09:40:11

... eigentlich ist das die ganze Sub, die Du in Deinem Modul nur ersetzen musst.

Hier einmal als komplette Datei:
https://www.herber.de/bbs/user/139230.xlsm

Falls fehlermeldungen kommen, gib bitte mal an, welche.

Gruß Regina

Betrifft: AW: Bestimmte Werte aus Sheet in neue Datei
von: Alex
Geschrieben am: 23.07.2020 09:56:47

Hi Regina, habe es hinbekommen, Vielen Dank!

Beiträge aus dem Excel-Forum zum Thema "Bestimmte Werte aus Sheet in neue Datei "