Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

mit VBA Fillfarbe von Tabellenzellen erkennen

Betrifft: mit VBA Fillfarbe von Tabellenzellen erkennen von: Ingo Siemon
Geschrieben am: 19.08.2004 18:13:55

Guten Tach :)

Ich habe in meiner Tabelle bei bestimmten Zeilen
die Zelle der Spalte B mit einer bestimmten Fullfarbe markiert.

Nun möchte ich mit VBA genau diese Zeilen "ansprechen",
um Teile daraus in eine TXT-Datei zu schreiben.

Kann VBA überhaubt erkennen, ob Tabellenzellen eine bestimmte Füllfarbe haben ?

Würde mich riesig freuen, wenn mir jemand von Euch dabei helfen könnte,
da ich fast gar keine Ahnung von VBA habe :)
Gruß
Ingo

  


Betrifft: AW: mit VBA Fillfarbe von Tabellenzellen erkennen von: Jens M
Geschrieben am: 19.08.2004 18:41:12

Hallo Ingo!

Hiermit liest du Farben von Zellen aus:

Sub Farbnummer()
    Dim i As Integer
    i = ActiveCell.Interior.ColorIndex
    MsgBox "Farbnummer: " & i
End Sub



und als Beispiel: hiermit lese ich in einem Kalender meine (eingefärbten) Urlaubstage aus:

Sub UrlaubZählen()

For Each Zelle In Range("A2:L32")
  Select Case Zelle.Interior.ColorIndex
    Case 35: grün = grün + 1 'Urlaub
    Case 4: lgrün = lgrün + 1 'Bummeltage
  End Select
Next

[C1] = grün
[E1] = lgrün

End Sub


Wenn du hier im Forum etwas recherchierst, findest du noch mehr!

Schönen Abend,
Jens


  


Betrifft: AW: mit VBA Fillfarbe von Tabellenzellen erkennen von: Ingo Siemon
Geschrieben am: 19.08.2004 20:40:55

Lieber Jens

Vielen Dank erstmal für die schnelle Hilfe !

Ich habe nun mal etwas herumexperimentiert,
aber es übersteigt leider doch meine Kenne von VBA.

Ich habe hier mal eine Tabelle gebastel:
http://www.spaceart.de/Sonstiges/Tabellen-Test.htm
wo man sehen kann, was ich gerne mit VBA machen möchte.

Also ...

In den Zeilen 2,5 und 6 hat ja jewiels die zweite Zelle (also B)
eine blaue Füllfarbe.

Und genau aus diesen Zeilen (also die, wo Zelle B farbig ist),
möchte ich bestimmte Zellen-Inhalte in eine TXT-Datei schreiben.
Dabei soll dann z.B. herauskommen:

Tiere : Hund 4 - Hund 6 - Hund 2
Tiere : Fisch 4 - Fisch 6 - Fisch 2
Tiere : Wurm 4 - Wurm 6 - Wurm 2

D.h. Excel soll sich per VBA sozusagen
jede Zeile meiner Tabelle nacheinander "vornehmen".
"Gucken", ob die zweite Zelle farbig (z.B. blau) ist.
Wenn nein, weiter zur nächsten Zeile.
Wenn ja, folgendes in die Text-Datei schreiben "Tiere : " & [Inhalt Zeile 4] & "-" & [Inhalt Zeile 6] & "-" & [Inhalt Zeile 2]

Dafür müsste man ja die Farberkennung mit einer Art Schleife kombinieren.
Und das übersteigt meine VBA-Fähigkeiten leider doch sehr :)

Meinst Du, Du hast noch Zeit und Lust, mir da weiter zu helfen ?
Gruß
Ingo


  


Betrifft: AW: mit VBA Fillfarbe von Tabellenzellen erkennen von: nighty
Geschrieben am: 20.08.2004 08:10:10

hi alle :)

als formel,bzw. indexabfrage :)

gruss nighty

einzufuegen alt f11 (vbeditor)/einfuegen/modul

somit jetzt bei der functionsauswahl verfuegbar ist.

Rem BEISPIEL =SumInteriorColor(A1:A4;3)
Rem wobei die 3 die gesuchte farbe des angegebenen bereiches ist

Function SumFontColor(Zellen As Range, farbe As Long) As Double
Dim Zelle As Range
SumFontColor = 0
For Each Zelle In Zellen
If Zelle.Font.ColorIndex = farbe Then
SumFontColor = SumFontColor + Zelle.Value
End If
Next
End Function


hier noch ein minicode zum feststellen der indexes

Sub makro01()
For FarbNummer = 1 To 55
Range("D" & FarbNummer).Interior.ColorIndex = FarbNummer
Range("E" & FarbNummer) = "FarbNr. " & FarbNummer
Next FarbNummer
End Sub



 

Beiträge aus den Excel-Beispielen zum Thema "mit VBA Fillfarbe von Tabellenzellen erkennen"