Hallo zusammen,
Ich bräuchte bitte Hilfe bei einem Excel-Makro. Da ich (noch) nicht fachkundig bin, hänge ich leider nicht nur bei einem bestimmten Punkt, sondern bitte um Hilfe/Vorschläge für das gesamte Makro. Es sollte aber ein relativ simples Makro sein.
Was soll das Makro tun?
Geöffnet ist eine fertige Tabelle mit beliebig vielen Einträgen über mehrere Zeilen und Spalten (Anzahl an ausgefüllten Zeilen kann variieren, da Tabelle von einem anderen
System importiert wird).
Schritt1:
Bei auslösen des Makros soll das Tabellenblatt zunächst alles markieren (bis zum letzten Eintrag). Wenn also von A1 bis zu H500 Einträge sind, soll genau dieser Bereich
markiert sein. Das habe ich bereits über die Makroaufzeichnung ausprobiert, wenn man schlicht und einfach "Strg + A" drückt, wird ja genau der befüllte Bereich markiert,
aber der doofe Makrorecorder zeigt mir durch aufnehmen von "Strg + A" nicht die VBA-Übersetzung für "Alles markieren" auf sondern "ActiveCell.Range("A1:H500").Select".
Das dürfte anders als bei Strg + A nicht gültig sein, wenn der Auswahlbereich variiert, sondern immer nur A1 bis H500 markieren.
Schritt2:
Im nächsten Schritt soll die Auswahl nach fett markierten Einträgen durchforstet werden und alle fett markierten Einträge löschen. Anschließend sollen die dadurch entstandenen
leeren Zeilen gelöscht werden (fett geschriebene Einträge können einfach zwischendrin auftauchen). Alternative wäre, für alle fett geschriebenen Einträge, nicht nur die
Zellinhalte zu löschen, sondern jeweils die ganze Zeile. Das wäre möglich, da dort wo fette Einträge sind, immer die ganze Zeile fett ist
Schritt3:
Schließlich sollen noch alle Zeilen und Spalten auf die optimale Größe angepasst werden (was man durch Doppelklick zwischen zwei Zeilen/Spalten erreicht)
Pseudo-Code
1. Alle Zellen markieren, die nicht leer sind
2. Zählen, bis zu welcher Zeile diese Auswahl geht und die letzte Zeile in Variable i speichern
3. Schleife, die von Zeile 1 bis i durchläuft und von Zeile zu Zeile prüft, ob dort die Formatierung "fett" vorkommt
4. Alle Zeilen, für die diese Bedingung zutrifft löschen
5. Optimale Zeilen- u. Spaltengröße für gesamte Auswahl vornehmen (diesen Schritt vielleicht direkt als zweiten Schritt)
Über Unterstützung freue ich mich sehr!
|