Supportnet / Forum / Tabellenkalkulation
Worksheet_Calculate - Coros? :o)
Frage
Hallo liebe Forumsgemeinde,
kleines Problemchen....diesen Code habe ich bekommen....funzt prima....jedoch noch nicht so wie eigentlich gewünscht.
Zum Aufbau meiner Tabelle:
Ab E30 kann ich per Gültigkeitsliste verschiedene Wert/Namen wählen. Dieser Wert/Name determiniert einen Eintrag (per Sverweis) in G30. In G30 steht dann also immer entweder "freigegeben", "gesperrt", oder "ungeprüft". Danach sollten sich die Ovals in meiner Tabelle farblich anpassen. Alles funktioniert jedoch so wie der Code jetzt ist hab ich ein Problem mit dem Auslösen des Makros. Denn wenn ich den Sverweis ändere ändert sich nicht automatisch die Farbe des Oval - was ich aber gern hätte. Ich muss immer erst nochmal die Zell G30 mit Enter "abhaken".
Frage jetzt: Geht diese Code auch über die Calculate Eigenschaft anzupassen???
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sr As Shape
Dim Reihe As Long
If Target.Count = 1 And Target.Column = 7 And Target.Row >= 30 Then
Reihe = Target.Row
For Each sr In ActiveSheet.Shapes
sr.Select
If sr.AutoShapeType = msoShapeOval <> 0 And sr.TopLeftCell.Row = Reihe Then
If LCase(Target.Value) = "gesperrt" Then
sr.Fill.ForeColor.SchemeColor = 2
ElseIf LCase(Target.Value) = "freigegeben" Then
sr.Fill.ForeColor.SchemeColor = 3
ElseIf LCase(Target.Value) = "ungeprüft" Then
sr.Fill.ForeColor.SchemeColor = 13
End If
End If
Next sr
End If
End Sub
Vielen herzlichen Dank!
Mfg
Mola
Antwort 1 von coros
Hi Mola,
warum fragst Du dann die Zelle G30 mit
Target.Column = 7 And Target.Row >= 30
ab, wenn dort keine Eingabe gemacht wird, sondern der Wert sich durch eine Formel ändert? Lasse das mit Target.Column und Target.Row weg und mache eine direkte Abfrage auf Zelle G30. Also z.B.
usw.
Dann funktioniert das auch in einem Worksheet_Change-Ereignis.
Ich hoffe, ich habe Deine Frage richtig verstanden und Dir eine akzeptable Lösung geboten. Wenn nicht, melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
warum fragst Du dann die Zelle G30 mit
Target.Column = 7 And Target.Row >= 30
ab, wenn dort keine Eingabe gemacht wird, sondern der Wert sich durch eine Formel ändert? Lasse das mit Target.Column und Target.Row weg und mache eine direkte Abfrage auf Zelle G30. Also z.B.
If Range("G30") = "gesperrt" Then
sr.Fill.ForeColor.SchemeColor = 2
End Ifusw.
Dann funktioniert das auch in einem Worksheet_Change-Ereignis.
Ich hoffe, ich habe Deine Frage richtig verstanden und Dir eine akzeptable Lösung geboten. Wenn nicht, melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Mola
Hallo Coros,
sorry, bin zur Zeit ein bissle durch den Wind....jetzt ist aber alles wie es sein soll.
Deine Lösungsvorschläge sind immer akzeptabel!!! Für mich jedenfalls :o)
Wünsche Dir ein schönes und erholsames Wochenende!
Grüße
Mola
sorry, bin zur Zeit ein bissle durch den Wind....jetzt ist aber alles wie es sein soll.
Deine Lösungsvorschläge sind immer akzeptabel!!! Für mich jedenfalls :o)
Wünsche Dir ein schönes und erholsames Wochenende!
Grüße
Mola
Antwort 3 von coros
Hi Mola,
kein Problem, hauptsache es funktioniert jetzt. Wünsche DIr ebenfalls ein schönes Wochenende. Danke Dir auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
kein Problem, hauptsache es funktioniert jetzt. Wünsche DIr ebenfalls ein schönes Wochenende. Danke Dir auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

