Das Archiv des Excel-Forums
Range / End(xlUp)
Betrifft: Range / End(xlUp)
von: Rafael
Geschrieben am: 06.10.2003 13:58:56
Liebe Boardgemeinde,
ich möchte den Code meines Macros verkürzen. U.a. sollen die Inhalte zusammenhängender, aber in der Adresse wechselnder Zellen fett markiert werden.
Leider funktioniert der folgende Ausdruck nicht:
Tabelle1.Range((Cells(Rows.Count, 2).End(xlUp)), _
(Cells(Rows.Count, 7).End(xlUp))).Font.Bold = True
Statt dessen muss ich mit dem folgenden, jedoch längeren Ausdruck arbeiten:
Tabelle1.Cells(Rows.Count, 2).End(xlUp).Font.Bold = True
Tabelle1.Cells(Rows.Count, 3).End(xlUp).Font.Bold = True
Tabelle1.Cells(Rows.Count, 4).End(xlUp).Font.Bold = True
Tabelle1.Cells(Rows.Count, 5).End(xlUp).Font.Bold = True
Tabelle1.Cells(Rows.Count, 6).End(xlUp).Font.Bold = True
Tabelle1.Cells(Rows.Count, 7).End(xlUp).Font.Bold = True
Vielleicht hat jemand von Euch einen Vorschlag zur Verkürzung? Die SpecialCells-Methode "End(xlUp)" sollte jedoch Anwendung finden.
Vielen Dank im voraus!
Rafael
Betrifft: AW: Range / End(xlUp)
von: PeterW
Geschrieben am: 06.10.2003 14:16:21
Hallo Rafael,
für einen zusammenhängenden Bereich brauchst du eine Anfangszelle (oben links) und eine Endzelle (unten rechts). Mit deinem Code formatierst du nur die jeweils letzte Zelle der Spalten. Ist das so gewollt?
Gruß
Peter
Betrifft: AW: Range / End(xlUp)
von: Rafael
Geschrieben am: 06.10.2003 14:31:35
Hallo Peter,
ja, das soll so sein. Zunächst sollen wechselnde Parameter (aus Tabelle3) jeweils der obersten (leeren) Zelle einer Spalte zugeordnet und dann fett formatiert werden. B.p.:
If Tabelle3.Cells(2, 14) < Tabelle3.Cells(2, 5) Then
Tabelle1.Cells(Rows.Count, 2).End(xlUp).Offset(1#) = Tabelle3.Cells(2, 11)
Tabelle1.Cells(Rows.Count, 3).End(xlUp).Offset(1#) = Tabelle3.Cells(2, 5)
Tabelle1.Cells(Rows.Count, 4).End(xlUp).Offset(1#) = Tabelle3.Cells(2, 1)
Tabelle1.Cells(Rows.Count, 5).End(xlUp).Offset(1#) = Tabelle3.Cells(2, 16)
Tabelle1.Cells(Rows.Count, 6).End(xlUp).Offset(1#) = Tabelle3.Cells(2, 14)
Tja, vielleicht liesse sich "FontBold" = "True" auch direkt in den jeweiligen Ausdruck einarbeiten. Bei meinen Versuchen klappte das leider nicht, so dass ich die "Zuorndung der Parameter" und "Fette Schrift" in zwei separate Schritte trennen musste.
Gruss Rafael
Betrifft: AW: Range / End(xlUp)
von: PeterW
Geschrieben am: 06.10.2003 14:40:01
Hallo Rafael,
das geht bequem mit einem With-Rahmen
With Tabelle1.Cells(Rows.Count, 2).End(xlUp).Offset(1#)
.Value = Tabelle3.Cells(2, 11)
.Font.Bold = True
End With
Gruß
Peter
Betrifft: AW: Range / End(xlUp)
von: Rafael
Geschrieben am: 06.10.2003 15:03:41
Danke Dir, Peter!!!
Rafael