Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
240to244
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
240to244
240to244
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bereich per VBA farbig formatieren?

Bereich per VBA farbig formatieren?
07.04.2003 11:19:57
Leo
Halli hallo,

ich habe eine Tabelle in der in Zeile 1 meine Überschriften stehen. In Zeile 2 (ab hier gilt das Makro) in Spalte B steht "1" jetzt möchte ich den Bereich A:I farbig formatieren (siehe unten), wenn jetzt in Splate B wieder eine "1" steht dann mit andere Farbe formatieren usw. Es soll in VBA sein, da ich es in ein anderes Makro einbinden möchte. Wie sieht das Code aus?

Vielen Dank vorab....

Gruß
Leo







7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bereich per VBA farbig formatieren?
07.04.2003 11:41:14
ChrisL

Hallo Leo

Hier mein Vorschlag:

Option Explicit

Private Sub CommandButton1_Click()
Dim LetzteZeile As Long, i As Long
Dim FarbeEinAus As Boolean
Application.ScreenUpdating = False

LetzteZeile = Range("A65536").End(xlUp).Row
FarbeEinAus = True

For i = 2 To LetzteZeile

If Cells(i, 2) = 1 Then
If FarbeEinAus = True Then
FarbeEinAus = False
Else
FarbeEinAus = True
End If
End If

Range("A" & i & ":I" & i).Select
If FarbeEinAus = True Then
Selection.Interior.ColorIndex = 36
Else
Selection.Interior.ColorIndex = xlNone
End If

Next i

Range("A1").Select
Application.ScreenUpdating = True
End Sub


'-----------

Selection.Interior.ColorIndex = 36
Selection.Interior.ColorIndex = xlNone

36 ist die Farbe. In dem Beispiel Gelb mit Nichts abwechslungsweise. Statt xlNone kannst du auch eine andere Nummer eingeben.

Gruss
Chris

Anzeige
Re: Bereich per VBA farbig formatieren?
07.04.2003 11:45:22
Leo

Hi,

ich habe es nicht gesehen, daß ich in ein anderem Forum ein Antwort bekommen habe :)

Das Makro sieht so aus:

Option Explicit

Sub naklardoch()
Dim rng As Range
Dim i As Long 'especialy for Georg
For Each rng In Range("A2:A" & [A65536].End(xlUp).Row)
i = WorksheetFunction.CountIf(Range("B2:B" & rng.Row), "1")
i = i Mod 2
If i = 1 Then
Range("A" & rng.Row & ":I" & rng.Row).Interior.ColorIndex = 3
Else
Range("A" & rng.Row & ":I" & rng.Row).Interior.ColorIndex = 5
End If
Next rng
End Sub

das funzt soweit.

Jetzt meine zweite Frage:

Wie kann ich das Makro so anpassen, das es nur für markierten Bereich gilt, mit Abfrage mit welche Formatierung (zwei unterschiedliche Farben) er anfangen soll???

Beispiel 1 Formatierung:

With Selection.Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With


Beispiel 2 Formatierung:

With Selection.Interior
.ColorIndex = 44
.Pattern = xlSolid
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 38
End With


Danke nochmal....

Gruß
Leo





Anzeige
Re: Bereich per VBA farbig formatieren?
07.04.2003 12:06:51
ChrisL

Sorry Leo, aber auf meine Hilfe kannst du nicht mehr zählen. Arbeite nicht gerne für den Papierkorb... vielleicht hast du ja hierfür auch schon in einem anderen Forum eine Antwort bekommen.

Re: Bereich per VBA farbig formatieren?
07.04.2003 12:39:44
Leo

Hi Chris,

tut mir leid, es lag an Cookies (deswegen sah ich da kein Anwort). Bitte um Verständnis.

Könntest Du mir trotzdem weiterhelfen???

Vielen Dank nochmal....

Gruß
Leo


Re: Bereich per VBA farbig formatieren?
07.04.2003 13:09:34
ChrisL

Hallo Leo

Deine Entschuldigung ist zwar nett, ändert aber nichts an meiner Frustration.

1.
https://www.herber.de/forum/faq.htm
Stichwort "Rundumschlag"

und wenn schon, wenigstens ein Verweis auf das andere Forum

2.
Um das Makro auf den selektierten Bereich zu ändern, muss der gesamte Code umgekremplt werden. Der bestehende Code ist also gleich nochmals für den Papierkorb. Zudem ist es nicht so einfach wie du vielleicht denkst. Jedenfalls bringt es meine bescheidenen Kenntnisse an die Grenzen.

3.
Abfrage, mit welcher Frage er beginnen soll. Hierzu würde ich ein Userform verwenden, was das ganze nochmals erschwert. Zudem müsstest du dich selber ebenfalls mit dem Thema auseinander setzen. FAQ hat einen Workshop zum Thema.

Ich bitte dich um Verständnis, dass deine Anschlussfrage kein 5 Minuten Job ist und meine persönlichen Grenzen übersteigt. Vielleicht hat sonst jemand ein gutes Herz. In der Ungewissheit, ob die Frage inzwischen nicht schon in einem anderen Forum beantwortet wurde wird sich jedoch kaum jemand dafür begeistern lassen.

Gruss
Chris

Anzeige
Re: Bereich per VBA farbig formatieren?
07.04.2003 14:59:00
Leo

Hi Chris,

das ist nicht korrekt von Dir. Ich habe mich entschuldigt, es war meine Fehler (kann ja passieren). Meine Fragen kannst Du ja gerne im Zukunft ignorieren. Es gibt ja auch andere netten Leuten, die gerne helfen möchten und nicht direkt ausrasten.

Gruss
Leo

Re: Bereich per VBA farbig formatieren?
07.04.2003 15:19:19
ChrisL

Hallo Leo

Bin eigentlich nicht der Ansicht, dass ich ausgerastet bin. Wenn du dir die Reaktionen anderer Teilnehmer zum Thema Crossposting anschaust, habe ich eigentlich noch milde reagiert. Ferner habe ich dir bereits erklärt, weshalb ich dir keine Antwort gebe, weil ich die Antwort nicht kenne.

Dieser Beitrag wird von diversen Leuten (u.a. Profis, nicht wie ich) gelesen und es steht jedem frei, dir trotzdem eine Antwort zu geben. Nur, wie erwähnt, ohne Bezug auf das andere Forum und damit in der Ungewissheit, ob der Beitrag nicht schon beantwortet wurde wird sich kaum jemand überzeugen lassen.

Gruss
Chris

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige