Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
172to176
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
172to176
172to176
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

MSG-Box außer wenn Wert=1

MSG-Box außer wenn Wert=1
24.10.2002 12:52:25
Kurt
Ich habe 5 Comboboxen, mit denen der Benutzer Gewichtungen auswählen kann. Dort kann er von 0-100 % wählen, allerdings machte die Sache nur Sinn wenn die Summe aller Gewichtungen 100% ist. Deshalb möchte ich eine MsgBox einfügen, die ihm darauf hinweißt.
Mein Code hat nich funktioniert:

If ActiveSheet.OLEObjects("Combobox61") + ActiveSheet.OLEObjects("Combobox62") + ActiveSheet.OLEObjects("Combobox63") + ActiveSheet.OLEObjects("Combobox64") + ActiveSheet.OLEObjects("Combobox65") <> 1 Then
MsgBox "Die Summe der Gewichtungen muß 100% betragen !"
End If
Sheets("Übersicht").Activate
End Sub

Die Sache hängt an der Zeile: ComboBox61+ComboBox62....so geht das leider nicht. Wißt ihr wie das besser funktionieren würde ?

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: MSG-Box außer wenn Wert=1
24.10.2002 13:01:41
Andre B
Versuch´s mal so:

If ActiveSheet.OLEObjects("Combobox61") <> 1 + ActiveSheet.OLEObjects("Combobox62") <> 1 + ActiveSheet.OLEObjects("Combobox63") <> 1 + ActiveSheet.OLEObjects("Combobox64") <> 1 + ActiveSheet.OLEObjects("Combobox65") <> 1 Then
MsgBox "Die Summe der Gewichtungen muß 100% betragen !"
End If
Sheets("Übersicht").Activate
End Sub

Re: MSG-Box außer wenn Wert=1
24.10.2002 13:13:41
Kurt
Danke für den Vorschlag, allerdings würde das doch bedeuten, daß man bei jeder Box 100% auswählen muß. Das gesamte soll allerdings genau 100% ergeben.

Z.B.:
Aus der 1.Box: 30%
Aus der 2.Box: 40%
Aus der 3.Box: 30%
4.Box und 5.Box bleiben frei

Beim nächsten Beispiel, soll die MsgBox erscheinen:
1.Box: 40%
2.Box: 20%
3.Box: 20%
4.Box: 50%
5. bleibt frei

Hier hat der Benutzer insgesamt 130% ausgewählt, daher die MsgBox!

Anzeige
Re: MSG-Box außer wenn Wert=1
24.10.2002 13:59:59
Andre B
Oh, entschuldige bitte, hab nicht aufmerksam genug gelesen.

Also, ich gehe mal stark davon aus, daß Prozentangaben in Comboboxen genauso gehandhabt werden wie in Zellen, dann darfst du nicht 1 schreiben, sondern 100 in deiner Zeile.

Versuch´s mal und meld dich ob´s geklappt hat.

Re: MSG-Box außer wenn Wert=1
24.10.2002 14:15:37
Kurt
Leider nicht Andre !

Er markiert wieder die Zeile mit den ComboBoxen im Code.
Merkwürdig find ich, daß man zwar in den ComboBoxen noch % auswählt allerdings, wird steht der Wert dann in Dezimalformat in der ComboBox. Daher habe ich 1 verwendet. Aber an dem scheint es ohnehin nicht zu scheitern, da auch 100 nichts genützt hat.

Gruß Kurt

Anzeige
Re: MSG-Box außer wenn Wert=1
24.10.2002 14:37:54
Andre B
Tja, wie du siehst, hab ich bis jetzt sehr wenig mit Comboboxwen gearbeitet, deshalb bleibt alles sehr theoretisch.

Dann könntest du noch versuchen in der If-Zeile eine Klammer zu setzen, die Addition einklammern und dann ungleich 1 setzen.

Sonst weiß ich leider auch nicht weiter. Viel Glück

Re: MSG-Box außer wenn Wert=1
24.10.2002 14:44:11
Kurt
Nein das war es auch nicht.

Hmm.. ich habe nun versucht unter LinkedCell die Werte in Excel schreiben zu lassen und daraus die Summe zu bilden. Dann wär es im Code einfacher zu schreiben. Allerdings erkennt er nichts und schreibt immer 0. Ich habe die Formate schon alle auf Zahl umgestellt. Aber trotzdem erkennt er die werte aus den comboboxen nicht.
Weißt du dafür eine Lösung, dann würde ich es auch hinbekommen, ist zwar keine sehr elegante Lösung aber wenns funktioniert würde mir das schon reichen.

Anzeige
Ich habs fast !!!
24.10.2002 14:53:24
Kurt
Nun zeigt er mir die MsgBox an, keine Fehlermeldung. :-)

Allerdings ist irgendwo noch ein kleiner Denkfehler. Da die Meldung auch kommt wenn man 100% auswählt. Weiters springt er wenn man die MsgBox mit ok bestätigt zum nächsten Tabellenblatt. Zum nächsten Tabellenblatt soll der Benutzer allerdings nur gelangen wenn er auch richtig (also 100%) ausgewählt.

Gruß Kurt

Re: Ich habs fast !!!
24.10.2002 14:58:10
Kurt
Sorry, ich hab den neuen Code vergessen.

Re: Ich habs fast !!!
24.10.2002 15:23:04
Andre B
Aha, der nächste Schritt ist einfach zu lösen!

Du mußt nur nach der ersten if die Sub mit "Exit Sub" verlassen, damit bei Erfüllung der ersten Bedingung nicht die ganze Sub durchlaufen wird.

Bis dann

Anzeige
Re: Ich habs fast !!!
24.10.2002 15:30:41
Kurt
Das Problem hab ich ja schon mit:

If ... = 1 Then ...Activate

gelöst. An deine Variante hatte ich gar nicht gedacht, ist eigentlich eh besser.

Das eigentliche Problem, daß ich nun habe ist, daß wenn ich bei einer Combobox 100% auswähle und bei den anderen nichts, er dann (so wie es sein sollte) zum nächsten Tabellenblatt springt. Allerdings wenn ich zum Beispiel 2mal 50% eingebe kommt meine MsgBox, daß man insgesamt 100% eingeben soll.
Also 50%+50% sind bei mir 100%, was checkt Excel da nicht ??

Re: Ich habs fast !!!
24.10.2002 15:44:10
Andre B
Jau, hast recht!

Dann hab wirklich keine Ahnung mehr, sorry. Für mich sind 50 + 50 auch 100! Für Excel normalerweise auch, bei Zellen würde ich sagen Formatfehler, aber bei deinen Comboboxen?!

Eine Idee hab ich doch noch, die Comboboxen haben doch eine ControllSource-Eigenschaft! Damit hast du eine Verbindung zu Zellen in einer Tabelle, die läßt in einer anderen Zelle summieren und steuerst damit deine nächste Bedingung, dann sollte wohl immer 50 + 50 = 100 sein!

Anzeige
Re: Ich habs fast !!!
24.10.2002 17:49:36
Martin Beck
Hallo Kurt,

1. Versuche mal cdbl(ComboBox61) statt ComboBox61.

2. Laß Dir per Kontrolle mal den errechneten Wert bei 2mal 50% anzeigen.

Gruß
Martin Beck

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige