Wer kann mich bitte mal auf den richtigen Weg bringen ?
In einer ComboBox werden beliebige Datensätze (also Teile davon) angezeigt.
In einer der Spalten befinden sich %-Angaben.
Das nur nebenbei.
Für die %-Sätze, die (logisch) aus einem Arbeitsblatt kommen (Format: Prozent mit 2 Nachkommastellen) führe ich ein Array nebenbei:
Dim arr() As Double
Wenn ich die ComboBox fülle, schreibe ich sofort auch die %-Sätze in das Array, was dann folgendermaßen aussieht:
arr(1) = 0.10 für 10 % usw.
Dieser Wert wird nun formatiert in der ComboBox dargestellt. Diese ComboBox-Prozente können nun geändert werden.
Bei der Änderung bringe ich die Eingaben auf das "normale" %-Format und ändere entsprechend arr(x).
So.
Beim Beenden der ComboBox addiere ich alle Elemente von arr.
Diese Summe schreibe ich in das Arbeitsblatt und erhalte 100%. Klasse.
Die Summe selbst ist 1.
Geprüft, Super und stimmt.
Da ich aber möchte, daß mir in der ComboBox angezeigt wird, wenn eine Abweichung von 100 % besteht (also größer oder kleiner), habe ich folgende Routine geschrieben:
Sub ProzentFehlerAnzeige(Wert As Double)
With PR_Verwaltung.Prozentfehler
.Visible = False
If (Wert <> 1#) Then .Visible = True
End With
End Sub
... und Wert im Überwachungsfenster anzeigen lassen und siehe da: "Wert" ist 1.
Warum, bitte, läuft er aber immer in den Zweig .visible = true
Irgendwann in "grauer Vorzeit" hat es schon mal geklappt.
Für Eure Hilfe danke ich Euch im voraus.
MAlexander