A1 mit den Tabellenblättern vergleichen

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von mentos38.

    A1 mit den Tabellenblättern vergleichen

    Hallo,

    ich habe ein Problem mit einer Liste in Excel.

    Nachdem ich paar sachen gefiltert habe, will ich die Zahlen die in der Spalte A1 stehen mit den Tabellenblättern vergleichen die die selben zahlen beinhalten. Nun will ich die Tabellenblätter löschen, die NICHT wie diese Zahlen von der Spalte A1 heißen.

    Was könnt ich machen?


    Skizze:



    A1

    014
    015
    084
    189
    190


    ToDo / 010 / 014 / 015 / 020 / 030 / 084 / 090 / 110 / 189 / 190


    Hab schonmal das hier um A1 durchzulaufen:


    anfang = 3
    zeile = anfang


    Do While Range("A" & zeile).Value <> ""

    zeile = zeile + 1
    loop



    Wäre über eure Antworten sehr dankbar.
    Wenn du nur die gefilterten Werte nehmen willst, solltest du sie zunächst in eine Hilfsmappe kopieren.
    Dann mit Hilfe der Funktion ZÄHLENWENN (Worksheetfunction.CountIf) überprüfen, ob die Namen Tabellenbllätter in der Spalte A vorkommen.

    So müsste es funktionieren:

    Visual Basic-Quellcode

    1. Dim wb As Workbook, wbHelp As Workbook, SpalteA As Range
    2. Set wb = ActiveWorkbook
    3. wb.Worksheets(1).Columns("A:A").Copy
    4. Set wbHelp = Workbooks.Add
    5. wbHelp.ActiveSheet.Paste
    6. Set SpalteA = wbHelp.ActiveSheet.Columns("A:A")
    7. For i = wb.Worksheets.Count To 2 Step -1
    8. If WorksheetFunction.CountIf(SpalteA, wb.Worksheets(i).Name) = 0 Then
    9. wb.Worksheets(i).Delete
    10. End If
    11. Next
    12. wbHelp.Close SaveChanges:=False


    Soll die Meldung, ob wirklich gelöscht werden soll, nicht kommen, stelle Application.DisplayAlerts vorher auf False und hinterher wieder auf True.