Leerzeilen bis letzten Eintrag löschen
07.12.2006 17:05:07
Stephan
Ich bin neu im Forum und habe mich Betreff der Thematik zum Löschen von Leerzeilen auch schon in den reichhaltigen Threads & Vorschlägen umgeschaut, aber...
Da die Thematik VBA in Verbindung mit Excel für mich doch relativ neu ist, hoffe ich auf einen Denkansatz.
Mein Fall:
In unserer Firma tragen wir in einer fortlaufenden Exceltabelle unsere Wareneingänge inkl. Informationen des Lieferscheins vom 01.01.jjjj bis zum 31.12.jjjj ein.
Da es Artikel gibt, die bei uns von der Wareneingangsprüfung nach einer bestimmten Vorgabe (Skip-Lot-Verfahren) ausgeschlossen sind, sollen diese in einer jeweiligen eigenen Exceltabelle erfasst werden.
Dies habe ich über diverse Zellbezüge auch erstellt und nach dem Öffnen der jeweiligen Artikeldatei werden die Bezüge genau für den hier eingetragenen Artikel aktualisiert und durch mein schon vorh. Script (siehe unten) automatisch "bearbeitet".
Mein Problem:
Durch den direkten Bezug zur "Eintragstabelle" entsteht durch den Wareneingang zu einem beliebigen Datum in der jeweiligen Artikeltabelle Leerzeilen (ist ja auch klar, da die Wareneingänge eines Artikel ja nicht hintereinander weg im Jahr kommen, sondern sich beliebig verteilen).
Ich habe es mit der Hilfe dieses Forums und seiner Kreativen Köpfe (Danke, danke...) hinbekommen, dass "alle Leerzeilen" ab dem letzten Eintrag der Tabelle bis Zeile 11 (hier fangen die Daten an) gelöscht werden;
siehe VBA-Script:
Sub Auto_Open()
Dim zeile As Long
Dim letzte As Long
letzte = Range("B1000").End(xlUp).Row
Application.ScreenUpdating = False
For zeile = letzte To 11 Step -1
If WorksheetFunction.CountBlank(Rows(zeile)) = 256 Then Rows(zeile).Delete
Next zeile
Application.ScreenUpdating = True
MsgBox "Mögliche Leerzeilen wurden entfernt"
End Sub
Was ich aber erreichen möchte ist, dass nur
...bis zum (abwärts ab Zeile 11) oder
ab dem (rückwärts bis Zeile 11)...
...letzten heutigem Datums-Eintrag (Date) - hier in Spalte B - die Leerzeilen gelöscht werden, da mir sonst die noch benötigten Zellbezüge unterhalb des aktuellen Datums für das fortlaufende Jahr verloren gehen.
Ganz sicher ist meine Methode nicht die Beste & Einfachste, aber soweit läuft es ja.
Meine Bitte, kann man den vorhanden Code nutzen und um das Value Date irgendwie ergänzen, oder nicht?
Ich danke schon einmal im voraus und entschuldige meine lange Anfrage, aber lieber mehr Informationen, als zu wenig ;-)
Stephan, der VBA-Anfänger