Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Share this Page URL
Help

Anhang B: Die VBA-FAQ > B.8 Wie kann ich an bestimmten Stellen neue Zeilen einf... - Pg. 645

Wie kann ich an bestimmten Stellen neue Zeilen einfügen? Listing B.10: Alle Wochenende-Zeilen werden entfernt Sub WochenendeZeilenLöschen() Dim Zeile As Integer Dim ZeileMax As Integer With Tabelle7 ZeileMax = .Range("A65536").End(xlUp).Row For Zeile = ZeileMax To 2 Step -1 If Application.Weekday(.Cells(Zeile, 1).Value) = 1 Or _ Application.Weekday(.Cells(Zeile, 1).Value) = 7 Then . Rows(Zeile).Delete End If Next Zeile End With End Sub A B C Arbeiten Sie bei dieser Aufgabenstellung die Liste beginnend bei der letzten ver- wendeten Zeile bis zur ersten Zeile von unten nach oben ab. Ermitteln Sie dazu die letzte belegte Zelle in Spalte A, indem Sie die Eigenschaft End zum Einsatz brin- gen. Übergeben Sie dieser Eigenschaft die Richtungskonstante xlUp , um die letzte Zelle der angegebenen Spalte zu ermitteln. Da Sie nicht die letzte Zelle, sondern eben die letzte Zeile benötigen, setzen Sie die Eigenschaft Row ein. Damit wird die Zeilennummer dieser letzten Zelle ermittelt. Diese Zeilennummer bildet den Start für Ihre Schleife. Arbeiten Sie also beginnend bei dieser letzten Zelle die Liste nach oben ab. Innerhalb der Schleife prüfen Sie über die Funktion WeekDay , ob es sich beim jeweiligen Datum um einen Wochentag handelt oder nicht. Für den Samstag mel- det die Funktion WeekDay den Wert 7 zurück (letzter Tag der Woche). Der Sonntag beginnt mit dem Wert 1 (erster Tag der Woche). Die Entwickler von Microsoft dürften sich bei dieser Festlegung an der jüdischen Woche orientiert haben, die den Sonntag als ersten Tag der Woche festlegt. Wird also eine Wochenende-Zeile ermittelt, dann wenden Sie die Methode Delete an, um die Zeile zu löschen. B.8 Wie kann ich an bestimmten Stellen neue Zeilen einfügen? Bei dieser Fragestellung orientieren Sie sich an Abbildung B.10. Dort ist eine Kos- tenstellentabelle abgebildet. Die Aufgabe besteht nun darin, immer dann eine neue, leere Zeile einzufügen, wenn ein Kostenstellenwechsel in Spalte A stattfin- det. 645