Supportnet / Forum / Textverarbeitung
Farbige Zellen markieren
Frage
Hallo Leute!
Ich habe eine Exceldatei mit einer Tabelle, in der untereinander Bereiche farbig markiert sind. Dabei handelt es sich um zusammenhängende Zellen, z.B. von A1:G200; A201:G590; usw.
Jeder einzelne Bereich ist farblich markiert. Ich hätte es gerne, dass der jeweilige Bereich markiert wird! Also bei Druck auf Knopf "Rot" nur der rote Bereich, bei Druck auf Knopf Grün nur der grüne Bereich, etc. Die Farben kommen jeweils nur einmal vor! Die Knöpfe sollen in einem anderen Tabellenblatt liegen...
Ist das irgendwie machbar?
Vielen Dank im Voraus!
Gruß, Gerrit
Antwort 1 von Saarbauer
Hallo,
grundsätzlich ist dein Problem mit einem Makro zu lösen. Die kanst du über aufzeichen selbst erstellen.
Gruß
Helmut
P.S. Fragen zu Excel sollte man in den Bereich der Tabellenkalkulation stellen und nicht unter Textverarbeitung. Es könnte sonst sein, dass man keine Antwort erhält.
grundsätzlich ist dein Problem mit einem Makro zu lösen. Die kanst du über aufzeichen selbst erstellen.
Gruß
Helmut
P.S. Fragen zu Excel sollte man in den Bereich der Tabellenkalkulation stellen und nicht unter Textverarbeitung. Es könnte sonst sein, dass man keine Antwort erhält.
Antwort 2 von Gerritos
Ups, ist mir gerade aufgefallen... Sorry!
Wie kann ich das aber selber realisieren? Das Problem ist, dass sich die Bereiche in der Länge verändern werden. Von daher ist also nicht gegeben, dass die Bereiche immer von z.B. A1:G200 und A201:G424 sind...
Wie kann ich das aber selber realisieren? Das Problem ist, dass sich die Bereiche in der Länge verändern werden. Von daher ist also nicht gegeben, dass die Bereiche immer von z.B. A1:G200 und A201:G424 sind...
Antwort 3 von Saarbauer
Hallo,
das ist mit einer automatischen Aufzeichnung aus meiner Sicht nicht mehr zu erledigen.
Hierzu muß man die Zellfarbe abfragen um die Grenze festzustellen. Ist aber mit VBA machbar.
Werde mir aml überlegen wie es am Besten zu bewerkstelligen ist.
Gruß
Helmut
das ist mit einer automatischen Aufzeichnung aus meiner Sicht nicht mehr zu erledigen.
Hierzu muß man die Zellfarbe abfragen um die Grenze festzustellen. Ist aber mit VBA machbar.
Werde mir aml überlegen wie es am Besten zu bewerkstelligen ist.
Gruß
Helmut
Antwort 4 von Gerritos
Alles klar, Helmut.
Dank Dir!
Dank Dir!
Antwort 5 von Saarbauer
Hallo,
also nach meiner Feststellung ist das Ganze nur mit einem geschribenen Makro zu machen.
Dieses Makro muss vorab feststellen die Zellen durchprüfen um die Zellfarbe festzustellen, also alle Zeilen "durchsehen".
Sind in den Bereichen oder zin der gesamten Tabelle auch Leerzeilen, da dies für die Gestaltung der Abfragen von Bedeutung ist?
Sind es Komplette Zeilen die ausgedruckt werden und sind die Zeilen immer gleich lang?
Gruß
Helmut
also nach meiner Feststellung ist das Ganze nur mit einem geschribenen Makro zu machen.
Dieses Makro muss vorab feststellen die Zellen durchprüfen um die Zellfarbe festzustellen, also alle Zeilen "durchsehen".
Sind in den Bereichen oder zin der gesamten Tabelle auch Leerzeilen, da dies für die Gestaltung der Abfragen von Bedeutung ist?
Sind es Komplette Zeilen die ausgedruckt werden und sind die Zeilen immer gleich lang?
Gruß
Helmut
Antwort 6 von Gerritos
Hi!
Es gibt sowohl Zellen, die leer sind, als auch beschriebene Zellen und welche mit Leerzeichen.
Die Zellen sind nicht gleich lang, müssen aber auch nicht ausgedruckt werden. Erstmal geht´s nur um das Markieren.
Ich hatte mal mit folgendem Makro etwas versucht (Makro aufzeichnen), leider hatte das nicht den gewünschten Erfolg:
Application.FindFormat.Interior.ColorIndex = 38
Gruß, Gerrit
Es gibt sowohl Zellen, die leer sind, als auch beschriebene Zellen und welche mit Leerzeichen.
Die Zellen sind nicht gleich lang, müssen aber auch nicht ausgedruckt werden. Erstmal geht´s nur um das Markieren.
Ich hatte mal mit folgendem Makro etwas versucht (Makro aufzeichnen), leider hatte das nicht den gewünschten Erfolg:
Application.FindFormat.Interior.ColorIndex = 38
Gruß, Gerrit
Antwort 7 von Saarbauer
Hallo,
ich habe ein paar Ideen, muss aber auch die Zeit zum Test haben. Werde das funktionierende Ergebnis einstellen.
Gruß
Helmut
ich habe ein paar Ideen, muss aber auch die Zeit zum Test haben. Werde das funktionierende Ergebnis einstellen.
Gruß
Helmut
Antwort 8 von Gerritos
Alles klar, danke im Voraus!
Antwort 9 von Saarbauer
Hallo,
meine Idee funktioniert nicht so wie ich mir es vorstelle, da ich die Bezeichnung für die Hintergrundfabe im Moment nicht finde
ist es anscheinend nicht. Und wie ich das Drucken einbinde ist noch nicht klar.
Gruß
Helmut
meine Idee funktioniert nicht so wie ich mir es vorstelle, da ich die Bezeichnung für die Hintergrundfabe im Moment nicht finde
Zitat:
Application.FindFormat.Interior.ColorIndex
Application.FindFormat.Interior.ColorIndex
ist es anscheinend nicht. Und wie ich das Drucken einbinde ist noch nicht klar.
Gruß
Helmut
Antwort 10 von Gerritos
Gedruckt werden muss aber nichts - nur markiert!
Danke für die Mühe!
Danke für die Mühe!
Antwort 11 von Saarbauer
Hallo,
es hat zwar etwas länger gedauert, aber hier das
Button Userform
Private Sub Rot_Click()
Call Farbe_rot
End Sub
Makro für rot
Sub Farbe_rot()
´ Makro am 26.08.05 von Bauer
Sheets("Tabelle1").Select
Range("a2").Select
Anfang_rot = 0 ´Anfangszeile Rot
End_rot = 0 ´Endzeile Rot
Zeile = Range("A65536").End(xlUp).Row ´letzte Zeile ermitteln
For i = 2 To Zeile
Range("A" & i).Select
If ActiveCell.Interior.ColorIndex = 38 And Anfang_rot = 0 Then
Anfang_rot = ActiveCell.Row()
End If
If ActiveCell.Interior.ColorIndex = 38 Then
End_rot = ActiveCell.Row()
End If
Next
If Anfang_rot > 0 Then
Rows(Anfang_rot & ":" & End_rot).Select
End If
End Sub
Für grün
ActiveCell.Interior.ColorIndex = 38
entsprechend abändern
Gruß
Helmut
es hat zwar etwas länger gedauert, aber hier das
Button Userform
Private Sub Rot_Click()
Call Farbe_rot
End Sub
Makro für rot
Sub Farbe_rot()
´ Makro am 26.08.05 von Bauer
Sheets("Tabelle1").Select
Range("a2").Select
Anfang_rot = 0 ´Anfangszeile Rot
End_rot = 0 ´Endzeile Rot
Zeile = Range("A65536").End(xlUp).Row ´letzte Zeile ermitteln
For i = 2 To Zeile
Range("A" & i).Select
If ActiveCell.Interior.ColorIndex = 38 And Anfang_rot = 0 Then
Anfang_rot = ActiveCell.Row()
End If
If ActiveCell.Interior.ColorIndex = 38 Then
End_rot = ActiveCell.Row()
End If
Next
If Anfang_rot > 0 Then
Rows(Anfang_rot & ":" & End_rot).Select
End If
End Sub
Für grün
ActiveCell.Interior.ColorIndex = 38
entsprechend abändern
Gruß
Helmut
Antwort 12 von Gerritos
Hallo Helmut,
danke für die Mühe, die Du Dir gemacht hast, ich weiß sie sehr zu schätzen!!!
Gruß, Gerrit
danke für die Mühe, die Du Dir gemacht hast, ich weiß sie sehr zu schätzen!!!
Gruß, Gerrit

