Anzeige
Archiv - Navigation
1900to1904
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

filtern & kopieren

filtern & kopieren
15.10.2022 14:23:37
Olli
  • Mein Thema:
    Ich habe eine Beispieldatei hochgeladen (Exceldatei mit Makro). Es geht, darum, diese Datei mit allen drei Arbeitsmappen incls. der Makros in neue Excel Dateien zu kopieren. Dabei sollen die 3 Makros anschließend auch noch funktionieren.
    In der Spalte A der "MAList" stehen alle Führungskräfte. Das Makro soll nach Spalte A "Führungskräfte" filtern und im Endergebnis soll je Führungskraft eine neue Datei erzeugt
    werden. In dieser neuen Datei je Führungskraft sollen auch die Arbeitsmappen 2 (BVorlage) und 3( Summary) enthalten sein.
    Diese neuen Dateien sollen nach dem Namen der Führungskräfte aus Spalte A z.B. " 4711 Jäger" bzw. "4712 Schmitt" bzw. "4713 Ebert" erhalten.
    Die Datei enthält 3 Arbeitsmappen.
    1. Mitarbeiterliste "MAList"
    2. Beurteilungsvorlag "BVorlage"
    3. Zusammenfassung der Beurteilungsergebnisse "Summary"
    Danke
    Olli
    https://www.herber.de/bbs/user/155690.xlsm
  • 1
    Beitrag zum Forumthread
    Beitrag zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: filtern & kopieren
    15.10.2022 15:34:10
    Uduuh
    Hallo,
    in eine separate Datei und aus deiner Datei heraus starten:
    
    Sub FK()
    Dim objFK As Object, arrFK, i As Long, oObj
    Dim wkb As Workbook
    Dim strWkbFull As String
    Dim rngDel As Range, rngC As Range, a As Range
    strWkbFull = ActiveWorkbook.FullName
    Set objFK = CreateObject("scripting.dictionary")
    arrFK = ActiveWorkbook.Sheets("malist").Cells(1, 1).CurrentRegion.Resize(, 1)
    Application.ScreenUpdating = False
    For i = 2 To UBound(arrFK)
    objFK(arrFK(i, 1)) = 0
    Next
    ActiveWorkbook.Close False
    For Each oObj In objFK
    Set wkb = Workbooks.Open(strWkbFull)
    Set rngDel = Nothing
    With wkb.Sheets("malist")
    For Each rngC In Intersect(.Cells(1, 1).CurrentRegion, .Cells(1, 1).CurrentRegion.Offset(1)).Resize(, 1).Cells
    If rngC.Value  oObj Then
    If rngDel Is Nothing Then
    Set rngDel = rngC
    Else
    Set rngDel = Union(rngDel, rngC)
    End If
    End If
    Next rngC
    If Not rngDel Is Nothing Then
    For Each a In rngDel.Areas
    a.EntireRow.Delete
    Next a
    End If
    End With
    With wkb
    .SaveAs Filename:=Left(strWkbFull, Len(strWkbFull) - 5) & "_" & oObj, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    .Close False
    End With
    Next oObj
    End Sub
    
    Gruß aus'm Pott
    Udo
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige