Supportnet / Forum / Tabellenkalkulation
Zellfarbe mit click ändern
Frage
Hallo,
noch eine Frage.
Ich möchte eine Zelle mit Click schwarz machen, mit nochmaligem Click wieder weiß (beliebig oft).
Und es soll damit gerechnet werden.
Wenn schwarz dann rechnen sonst nichts.
Ist das überhaupt möglich? Und wie?
Danke schonmal
Antwort 1 von powder
Ja,
auf jeden Fall. Das mit der Zellfarbe kannst z.b. machen indem du den Doppelklick oder einen Rechtsklick abfängst.
Das summieren am einfachsten mit einer speziellen Funktion.
Nur noch einen Augenblick geduld.
Grüße Tino
auf jeden Fall. Das mit der Zellfarbe kannst z.b. machen indem du den Doppelklick oder einen Rechtsklick abfängst.
Das summieren am einfachsten mit einer speziellen Funktion.
Nur noch einen Augenblick geduld.
Grüße Tino
Antwort 2 von powder
So Hoffi,
Hier erst mal die Berechnung:
Der ColorIndex 0 ist schwarz (wenn ich mich nicht täusche)
Die Funktion dann einfach wie =Summe(Range) aufrufen nur eben mit =FormatAddieren(Range) in der entsprechenden Zelle.
Für den Farbwechsel z.B. im Bereich für den Doppelklick
If ActiveCell.Interior.Colorindex = 0 Then 1 Else 0
Oder so
Grüße tino
Hier erst mal die Berechnung:
Function FormatAddieren(r As Range)
Application.Volatile
For Each r in r.Cells
If IxNumeric(r) Then
If r.Interior.ColorIndex = 0 Then
FormatAddieren = FormatAddieren + r.Value
End If
End If
Next r
End Function
Der ColorIndex 0 ist schwarz (wenn ich mich nicht täusche)
Die Funktion dann einfach wie =Summe(Range) aufrufen nur eben mit =FormatAddieren(Range) in der entsprechenden Zelle.
Für den Farbwechsel z.B. im Bereich für den Doppelklick
If ActiveCell.Interior.Colorindex = 0 Then 1 Else 0
Oder so
Grüße tino
Antwort 3 von Hoffi
Danke Tino
Habe von VB keine Ahnung.
Bräuchte etwas mehr Hilfe.
Und wie würde das mit Potenzieren gehen?
Gruß
Hoffi
Habe von VB keine Ahnung.
Bräuchte etwas mehr Hilfe.
Und wie würde das mit Potenzieren gehen?
Gruß
Hoffi
Antwort 4 von powder
Kein Problem Hoffi,
irgendwann haben wir alle mal angefangen.
Diese kleine Anleitung habe ich mir mal bei Coros ausgeliehen also bitte Ihm danke für die sehr ausfürhrlcihe Umschreibung:
Da ich nicht weiß, ob Du Dich mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.
1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diesen.
2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11
3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle) und klicke doppelt auf diesen Eintrag
4. Klicke danach nacheinander in der Menüleiste auf Einfügen => Modul.
5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.
Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.
Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich noch mal.
MfG,
coros
In dem speziellen Fall mit der "Function" ebenso verfahren. Zum Aufruf in die entsprechende Zelle dann eben genau diese Bezeichnung (=FormatAddieren(den zu addierenden Bereich)
dann verwendet das excel wie eine ihm bekannte Function.
Nun noch zu deinem Potenzieren meinst du alle werte miteinander Multiplizieren oder wie soll die Formal aussehen??
Grüße Tino
irgendwann haben wir alle mal angefangen.
Diese kleine Anleitung habe ich mir mal bei Coros ausgeliehen also bitte Ihm danke für die sehr ausfürhrlcihe Umschreibung:
Da ich nicht weiß, ob Du Dich mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.
1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diesen.
2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11
3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle) und klicke doppelt auf diesen Eintrag
4. Klicke danach nacheinander in der Menüleiste auf Einfügen => Modul.
5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.
Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.
Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich noch mal.
MfG,
coros
In dem speziellen Fall mit der "Function" ebenso verfahren. Zum Aufruf in die entsprechende Zelle dann eben genau diese Bezeichnung (=FormatAddieren(den zu addierenden Bereich)
dann verwendet das excel wie eine ihm bekannte Function.
Nun noch zu deinem Potenzieren meinst du alle werte miteinander Multiplizieren oder wie soll die Formal aussehen??
Grüße Tino
Antwort 5 von Hoffi
Hallo
Es soll z.B. gerechnet werden 2^5.
Und das mit der Farbe ändern habe ich noch nicht kapiert.
Und wie sehe ich das Ergebnis von der Berechnung?
Gruß
Hoffi
Es soll z.B. gerechnet werden 2^5.
Und das mit der Farbe ändern habe ich noch nicht kapiert.
Und wie sehe ich das Ergebnis von der Berechnung?
Gruß
Hoffi
Antwort 6 von powder
O.K.,
jetzt bin ich etwas verwirrt. Ich bin bisher davon ausgegangen du möchtest z.b. in einer Spalte bestimmte Felder markeiren und dann nur diese aufsummieren.
kann es sein das du aber für jede Zelle die markiert ist eine extra Berechnung durchführen willst oder wie sieht das aus??
Beschreibe das Problem bitte nochmal etwas ausführlicher.
Um das einfärben kümmere ich mich danach erstmal die einfacheren Dinge. :)
Grüße Tino
jetzt bin ich etwas verwirrt. Ich bin bisher davon ausgegangen du möchtest z.b. in einer Spalte bestimmte Felder markeiren und dann nur diese aufsummieren.
kann es sein das du aber für jede Zelle die markiert ist eine extra Berechnung durchführen willst oder wie sieht das aus??
Beschreibe das Problem bitte nochmal etwas ausführlicher.
Um das einfärben kümmere ich mich danach erstmal die einfacheren Dinge. :)
Grüße Tino
Antwort 7 von Hoffi
Hallo
Habe hilfe von einem Arbeitskollegen der kennt sich mit VB aus (wusste ich aber nicht).
Vielen Dank für die Hilfe.
Kriegen das Anhand Eurer Vorschläge schon hin.
Gruß
Hoffi
Habe hilfe von einem Arbeitskollegen der kennt sich mit VB aus (wusste ich aber nicht).
Vielen Dank für die Hilfe.
Kriegen das Anhand Eurer Vorschläge schon hin.
Gruß
Hoffi
Antwort 8 von powder
Na dann Euch mal viel Glück.
Grüße Tino
Grüße Tino
Antwort 9 von nighty
hi alle :)
da es sich ja nur um zwei farben handelt liesse sich das mit sicherheit ueber die bedingte formatierung realisieren in verbindung mit diesem makro was auf doppelclick schwarz oder weiss die aktive zelle in wechselwirkung einfaerbt.
allerdings waehre hilfe von den formelprofis angesagt wegen der bedingten formatierung :))
gruss nighty
und hier das makro,somit man bei dieser loesung auf neue formeln verzichten kann.
einzufuegen unter
alt f11(vbeditor)/projektexplorer/DeineTabelle
alternativ DeineArbeitsmappe
da es sich ja nur um zwei farben handelt liesse sich das mit sicherheit ueber die bedingte formatierung realisieren in verbindung mit diesem makro was auf doppelclick schwarz oder weiss die aktive zelle in wechselwirkung einfaerbt.
allerdings waehre hilfe von den formelprofis angesagt wegen der bedingten formatierung :))
gruss nighty
und hier das makro,somit man bei dieser loesung auf neue formeln verzichten kann.
einzufuegen unter
alt f11(vbeditor)/projektexplorer/DeineTabelle
alternativ DeineArbeitsmappe
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Cells(Target.Row, Target.Column).Interior.ColorIndex <> 1 Then
Cells(Target.Row, Target.Column).Interior.ColorIndex = 1
Else
Cells(Target.Row, Target.Column).Interior.ColorIndex = 2
End If
End SubAntwort 10 von powder
Hallo Nighty,
genauso oder zumindest ähnlich, wollte ich das auch machen.
Aber ich dachte wir lösen erstmal das Formelproblem und dann kam ja das VBA Problem und dann wollte man sich nicht mehr helfen lassen :(
Naja dann eben nicht.
Wünsch Dir aber auch noch nen schönen Tag
Grüße tino
genauso oder zumindest ähnlich, wollte ich das auch machen.
Aber ich dachte wir lösen erstmal das Formelproblem und dann kam ja das VBA Problem und dann wollte man sich nicht mehr helfen lassen :(
Naja dann eben nicht.
Wünsch Dir aber auch noch nen schönen Tag
Grüße tino
Antwort 11 von nighty
hi tino :)
war ja auch dein vorschlag,hab ihn nur umgesetzt :))
die berechnung mit der bedingten geht glaub ich auch nicht,koennte man auch ueber ein makro realisieren was auf zellenwechsel reagiert.
gruss nighty
war ja auch dein vorschlag,hab ihn nur umgesetzt :))
die berechnung mit der bedingten geht glaub ich auch nicht,koennte man auch ueber ein makro realisieren was auf zellenwechsel reagiert.
gruss nighty
Antwort 12 von powder
Hi Naughty,
also so wie ich das erst verstanden hatte das er aus einem Bereich nur die markierten zellen für die Berechnung verwenden soll kann man das super mit der Benutzerdefinierten-Function machen.
Leider weiß ich wegen dem fehlenden Feedback nicht was er jetzt eigentlich mit der Zelle anfangen wollte wenn die Berechnung immer die gleiche ist und nur bei markierter Zelle durchgeführt werden soll, kann er sie ja auch immer Berechnen und einfach die Textfarbe mit bedingter Formatierung dem Hintergrund anpassen oder ähnliches. Man müsste eben mehr wissen, aber mit nem Makro sprich ner Function geht das auf jeden Fall.
Grüße tino
also so wie ich das erst verstanden hatte das er aus einem Bereich nur die markierten zellen für die Berechnung verwenden soll kann man das super mit der Benutzerdefinierten-Function machen.
Leider weiß ich wegen dem fehlenden Feedback nicht was er jetzt eigentlich mit der Zelle anfangen wollte wenn die Berechnung immer die gleiche ist und nur bei markierter Zelle durchgeführt werden soll, kann er sie ja auch immer Berechnen und einfach die Textfarbe mit bedingter Formatierung dem Hintergrund anpassen oder ähnliches. Man müsste eben mehr wissen, aber mit nem Makro sprich ner Function geht das auf jeden Fall.
Grüße tino

