Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
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
bedingtes Zahlenformat
Bernd
Guten Abend allerseits,
ich drehe mich momentan wiedermal im Kreis. Da per "bedingte Formatierung" ja leider das Zellenformat und so auch kein Zahlenformat definierbar ist, muss es wohl per Code geschehen. Folgender Sachverhalt:
In Zelle A1 wird ein Bezugswert per Dropdown-Menü verändert. Ist er "1" sollen die Zellen D1 und F1 als ganzzahlige Prozentwerte formatiert sein, bei allen anderen Werten des Bezugswerts als ganze Zahlen mit "1.000er-Punkt".
Kann mir jemand einen Hinweis geben, wie ichs schaffen kann? Problem dabei ist, dass ich über 50 solche Zeilen jeweils mit Dropdown-Menü habe und eine "generalisierende" Lösung toll wäre.
Viele Grüße!
Bernd
AW: bedingtes Zahlenformat
04.08.2009 21:59:03
Erich
Hi Bernd,
klar, eine allgemeine Lösung wäre angebracht. Doch dafür müsste man ein wenig mehr wissen.
Wo sind die "über 50 solchen Zeilen"? Vielleicht regelmäßig verteilt?
Wird immer in Spalte A geprüft, werden immer die Format in Spalte D und F geändert?
Für Zeile 1 sieht das so aus:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Cells(1, 1)) Is Nothing Then
With Union(Cells(Target.Row, 4), Cells(Target.Row, 6))
If Target(1) = 1 Then .NumberFormat = "0%" Else .NumberFormat = "#,##0"
End With
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: bedingtes Zahlenformat
05.08.2009 09:28:33
Bernd
Hallo Erich,
dankeschön! Ja, "worksheet_change" hatte ich zumindest in Verdacht und Deine Lösung macht für die 1. Zeile exakt, was ich mir vorgestellt hatte. Die Frage ist nun: wie kann man das für die anderen Zeilen effizient umsetzen? Zu Deiner Rückfrage:
Analog zur Zeile 1 gibt es Zeilen 2 bis 65 für die jeweils der in Spalte A stehende Wert den Ausschlag für die Formatierung in der jeweiligen Spalte D und F geben soll. Also identischer Aufbau jeder Zeile.
Kennst Du einen eleganten Weg?
Gruß
Bernd
bedingtes Zahlenformat in Bereich
05.08.2009 09:35:09
Erich
Hi Bernd,
das ist wohl keine große Änderung. Probier mal

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A65")) Is Nothing Then
With Union(Cells(Target.Row, 4), Cells(Target.Row, 6))
If Target(1) = 1 Then .NumberFormat = "0%" Else .NumberFormat = "#,##0"
End With
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: bedingtes Zahlenformat in Bereich
05.08.2009 09:43:10
Bernd
Noch einmal dankeschön, denn das ist es jetzt. Damit habe ich mich wohl zwar nicht mit Ruhm bekleckert, aber ich lerne. Dummerweise funktioniert es nur im Beispiel und noch nicht in meiner eigentlichen Datei mit dem übrigen Code...aber das ist nun mein Job.
Besten Dank noch einmal, Erich!
Grüße
Bernd
bedingtes Zahlenformat in Bereich - Korrektur
05.08.2009 10:23:14
Erich
Hi Bernd,
sorry, da komm ich noch mal mit einer kleinen Änderung, die nur sicherstellen soll, dass das Makro auch dann
vernünftig funzt, wenn mehr als eine Zelle gleichzeitig geändert wird:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target(1), Range("A1:A65")) Is Nothing Then
With Union(Cells(Target.Row, 4), Cells(Target.Row, 6))
If Target(1) = 1 Then .NumberFormat = "0%" Else .NumberFormat = "#,##0"
End With
End If
End Sub
Ergänzt habe ich jetzt "(1)" hinter Target in der 2. Zeile.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: bedingtes Zahlenformat in Bereich - Korrektur
05.08.2009 10:54:14
Bernd
Guter Hinweis, ich habe aber ein anderes Problem entdeckt, weshalb auch meine eigentliche Datei mit Deiner Lösung nicht funktioniert. So wie Du den Code vorgeschlagen hast, erfolgt die Formatierung ausschließlich, wenn die Werte in Spalte A durch "harte" Eingabe geändert werden. Bei mir erfolgt die Veränderung aber über die Benutzung eines Dropdown-Menüs pro Zeile. Darauf reagiert aber worksheet_change nicht.
Was kann ich da tun?
Gruß, Bernd
Dropdown mit Change-Ereignis?
05.08.2009 13:31:56
Erich
Hi Bernd,
nun wäre erst mal zu klären, was genau du mit "Dropdown-Menü" meinst:
Gültigkeitsliste oder Dropdown-Steuerelement (List- oder Kombinationsfeld) oder
Formular-Dropdown (List- oder Kombinationsfeld) oder noch etwas ganz anderes?
Anschauen kannst du dir dazu auch schon mal das hier (im Archiv gefunden):
https://www.herber.de/forum/archiv/860to864/t863721.htm
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Dropdown mit Change-Ereignis?
05.08.2009 14:28:09
Bernd
Es ist genauso wie in dem Beitrag aus dem Archiv ein Formular-Element, in meinem Fall ein Kombinationsfeld. Ich habe das Problem mittlerweile auch über Zuweisung von Code zum "BeiÄnderung"-Ereignis zu den jeweiligen Formular-Elementen lösen können. Nur scheint mir die Lösung nicht besonders komfortabel und bringt mich zur Frage:
Wie kann man grundsätzlich ein change-Ereignis auslösen, wenn der sich verändernde Wert das Ergebnis einer Formel oder der Bezug eines Menüs ist?
Dieses Problem ist mir auch schon öfter untergekommen.
Soll ich der guten Ordnung halber hierfür einen neues Thema eröffnen?
Gruß
Bernd
Anzeige
Dazu sind schon viele Beiträge im Archiv
05.08.2009 16:24:09
Erich
Hi Bernd,
einen neuen Thread brauchst du vielleicht nicht aufzumachen.
Ich hab mal hier im Archiv (bei "Alle Recherchen") gesucht nach: Change-Ereignis Formel
Da kommen sehr viele Treffer, z. B.
https://www.herber.de/forum/archiv/664to668/t664338.htm
https://www.herber.de/forum/archiv/864to868/t864555.htm
https://www.herber.de/forum/archiv/320to324/t322483.htm
https://www.herber.de/forum/archiv/576to580/t578016.htm
Eine der Möglichkeiten ist das Calculate-Ereignis. Aber das hat natürlich auch seine Nachteile -
es wird oft ausgelöst.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Dazu sind schon viele Beiträge im Archiv
05.08.2009 17:47:42
Bernd
Ok, ich schaue mich dort erst einmal um - Vielen Dank für Support und die Vorschläge, wo ich weiterlesen kann. Wirklich nett.
Beste Grüße
Bernd

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige