cheerstoexcel
Goto Top

Excel Blätter nach bestimmten Daten durchsuchen und entfernen

Hallo Zusammen,

ich habe mal wieder ein kleines Anliegen.
Ich habe eine Excel Datei mit ca 2000 Blättern. Der Aufbau bzw die Komponenten sind auf jedem dieser Blätter identisch (mit der Ausnahme des ersten Blattes), allerdings in verschiedenen Ausprägungen. Soll heissen, dass die Überschriften übereinstimmen, jedoch sich unter diesen Überschriften verschieden viele Unterpunkte befinden. Die Unterpunkte sind direkt unter der jeweiligen Überschrift aufgelistet, dannach folgt eine komplett leere Zeile.
Meine Frage lautet nun, ob es möglich ist, sämtliche sich unter einer bestimmten Überschrift befindlichen Punkte (die Überschrift lautet Fund Stage Breakdown) zu entfernen. Ist es irgenwie machbar, dass der Löschvorgang durch die leere Zeile darunter gestoppt wird. Den Anfang stellt die besagte Überschrift dar. Optimal wäre, wenn daraufhin in den besagten Zeilen alle Inhalte (sprich auch in allen Spalten) gelöscht werden.

Ich hoffe mir kann jemand bei diesem Problem weiterhelfen. Tausend Dank!

Beste Grüße,
CheersToExcel


Btw: Es ist schon ein Makro in dieser Datei verankert. Ist es möglich ein zweites reinzusetzen??

Content-Key: 188678

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

Printed on: April 26, 2024 at 14:04 o'clock

Member: bastla
bastla Jul 26, 2012 at 13:53:38 (UTC)
Goto Top
Hallo CheersToExcel!

Etwa so:
Sub Entfernen()
Suchbegriff = "Fund Stage Breakdown"  
Sammel = "Tabelle1" 'Name des Sammelblattes  

For Each WS In Worksheets ' alle Tabellenblätter durchgehen ...  
    If UCase(WS.Name) <> UCase(Sammel) Then '... aber Sammelblatt überspringen  
        WS.Activate 'zum jeweiligenBlatt wechseln  
        'Zelle mit Suchbegriff ohne Berücksichtigung von Groß-/Kleinschreibung finden ...  
        Set c = Cells.Find(Suchbegriff, , xlValues, xlWhole, , False)
        '... und, falls gefunden, Zeilen bis zur nächsten leeren Zelle der Spalte (inklusive) löschen  
        If Not c Is Nothing Then Range(c, c.End(xlDown).Offset(1)).EntireRow.Delete 
        WS.Range("A1").Activate 'Zellcursor auf A1 setzen  
    End If
Next
Worksheets(Sammel).Activate 'zurück zum Sammelblatt  
End Sub
Btw: Es ist schon ein Makro in dieser Datei verankert. Ist es möglich ein zweites reinzusetzen??
Kein Problem - wenn der Makroname ("Sub ...") sich unterscheidet, kannst Du es auch im gleichen Modul unterbringen ...

Grüße
bastla
Member: CheersToExcel
CheersToExcel Jul 26, 2012 at 19:58:17 (UTC)
Goto Top
Vielen Dank, bastla!!! Der Rechner hat bis jetzt gebraucht, aber das Ergebnis kann sich sehen lassen.