Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schriftfarbe automatisch nach Makroausführung??

Schriftfarbe automatisch nach Makroausführung?
22.11.2006 15:38:50
Andrea
Hallöchen,
bräuchte mal Eure Hilfe.
Ich hab eine Excel-Datei, in der ich auf einem Tabellenblatt die Eingaben mache und dann nach Klick auf eine Schaltfläche diese Eingaben auf einem anderen Tabellenblatt sortiert werden, also so eine Art Rangliste.
Das Makro dazu steht unten. Hier möchte ich nun jedoch noch einen Zusatz einbauen, daß die Zeilen 1-10 automatisch in einer Schriftfarbe erscheinen, Zeilen 11-32 in einer anderen usw.... also bestimmte Zeilen immer in einer Schriftfarbe und evtl. noch Fettdruck.
Könnt Ihr mir kurz Hilfe geben, wie ich das machen kann?
Vielen Dank schon mal!
Grüße
Andrea
Hier noch das Makro:
Option Explicit

Sub Schaltfläche4_BeiKlick()
Application.Goto Reference:="Auswertung"
Selection.Clear
Range("Name").Copy Sheets("Rangliste_Druck").Range("C21")
Range("Punkte").Copy Sheets("Rangliste_Druck").Range("D21")
Range("Teilnahmen").Copy Sheets("Rangliste_Druck").Range("E21")
Range(Cells(21, "B"), Cells(ActiveSheet.Cells(Cells(Rows.Count, "C").End(xlUp).Row, 1).Row, "C")).Select
Dim x As Long, y As Integer
x = ActiveSheet.UsedRange.Rows.Count
y = ActiveCell.Column
ActiveCell.FormulaR1C1 = "=RANK(RC[2],RangPunkte,0)"
' Nach unten auffüllen
Range(ActiveCell, Cells(ActiveCell.Offset(0, 1).End(xlDown).Row, ActiveCell.Column)).FillDown
'nach unten markieren
x = ActiveSheet.UsedRange.Rows.Count
y = ActiveCell.Column
Range(Cells(ActiveCell.Row, y), Cells(x, y)).Select
' Wandelt alle selektierten Zellen in Zahlen
Range("Rang").Value = Sheets("Rangliste_Druck").Range("Rang").Value
'sortieren nach Rang
Range("Auswertung").Sort Key1:=Range("B21"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("B21").Select
Worksheets("Rangliste_Druck").Range("A:F").HorizontalAlignment = xlHAlignCenter
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schriftfarbe automatisch nach Makroausführung?
22.11.2006 23:03:51
fcs
Hallo Andrea,
hier mal ein Beispiel
Dabei werden die Zeilen der Bereich, die Farben, und Fett ja/Nein in einem Array vorgegeben. Diese Array muss du ggf. noch Anpaasen/Erweitern.
Evtl muss man die Zeilennummern auch irgendwie anders ermitteln/festlegen.
Gruss
Franz

Sub Schaltfläche4_BeiKlick()
Dim I As Integer, ZeileA, ZeileE, Farbe, Fett, wks As Worksheet 'Variablen Schriftfarben-Festlegung
Application.Goto Reference:="Auswertung"
Selection.Clear
Range("Name").Copy Sheets("Rangliste_Druck").Range("C21")
Range("Punkte").Copy Sheets("Rangliste_Druck").Range("D21")
Range("Teilnahmen").Copy Sheets("Rangliste_Druck").Range("E21")
Range(Cells(21, "B"), Cells(ActiveSheet.Cells(Cells(Rows.Count, "C").End(xlUp).Row, 1).Row, "C")).Select
Dim x As Long, y As Integer
x = ActiveSheet.UsedRange.Rows.Count
y = ActiveCell.Column
ActiveCell.FormulaR1C1 = "=RANK(RC[2],RangPunkte,0)"
' Nach unten auffüllen
Range(ActiveCell, Cells(ActiveCell.Offset(0, 1).End(xlDown).Row, ActiveCell.Column)).FillDown
'nach unten markieren
x = ActiveSheet.UsedRange.Rows.Count
y = ActiveCell.Column
Range(Cells(ActiveCell.Row, y), Cells(x, y)).Select
' Wandelt alle selektierten Zellen in Zahlen
Range("Rang").Value = Sheets("Rangliste_Druck").Range("Rang").Value
'sortieren nach Rang
Range("Auswertung").Sort Key1:=Range("B21"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("B21").Select
Worksheets("Rangliste_Druck").Range("A:F").HorizontalAlignment = xlHAlignCenter
'Schriftfarben festlegen
ZeileA = Array(1, 11, 33) ' 1. Zeile des jeweils zu formatierenden Bereichs
ZeileE = Array(10, 32, 45) ' Letzte Zeile des jeweils zu formatierenden Bereichs
Farbe = Array(3, 11, 10) ' rot, Blau,Grün Colorindex der Schriftfarbe im jeweiligen Bereich
Fett = Array(True, False, True) ' Schrift Fett/nicht Fett im jeweiligen Bereich
Set wks = Sheets("Rangliste_Druck")
For I = 0 To UBound(ZeileA)
With wks
.Range(.Rows(ZeileA(I)), .Rows(ZeileE(I))).Font.ColorIndex = Farbe(I)
.Range(.Rows(ZeileA(I)), .Rows(ZeileE(I))).Font.Bold = Fett(I)
End With
Next I
End Sub

Anzeige
AW: Schriftfarbe automatisch nach Makroausführung?
23.11.2006 00:26:11
Andrea
Vielen Dank für die schnelle Antwort, klappt einwandfrei. Hab es für meine Bedürfnisse ein wenig angepaßt und funzt super!!!
LG
Andrea

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige