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

Inhalt zweier Comboboxen vergleichen, dann MsgBox

Inhalt zweier Comboboxen vergleichen, dann MsgBox
23.08.2007 16:11:43
Peter
Hallo alle zusammen,
auf meiner Userform habe ich unter anderem 2 Comboboxen.
Mit meinem Code überprüfe ich den Inhalt der beiden Boxen nach bestimmten Parametern, z.B Gleichheit.
Wenn der Inhalt der beiden so ausgewählt wurde, dass er gleich ist, erscheint eine MsgBox.
Bis hier funktioniert alles wie es soll.
Wenn man die MsgBox mit OK schließt, erscheint die selbe Box nochmal und ich muß sie nochmals schließen.
Der Fehler kommt warscheinlich daher, dass ich mit dem Event Change() beide Comboboxen überprüfe und die Abfrage für beide Boxen fast identisch ist, es somit auch 2 MsgBoxen gibt. Warscheinlich erscheint z.B. bei Gleichheit der Inhalte, die MsgBox von Combobox1 und danach die MsgBox von Combobox2.
Was muß ich machen, damit nur eine MsgBox erscheint?
mein Code:

Private Sub cboGesellschaft_Konto_Change()
If Me.cboGesellschaft_Konto = "DA/Allgemeines Lewa" And Me.cboGesellschaft_Konto_intern = "DA/ _
Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "DA/Kontokorrent Lewa" And Me.cboGesellschaft_Konto_intern = "DA/ _
Kontokorrent Lewa" _
Or Me.cboGesellschaft_Konto = "DA/Treuhand Lewa" And Me.cboGesellschaft_Konto_intern = "DA/ _
Treuhand Lewa" _
Or Me.cboGesellschaft_Konto = "AS/Allgemeines Lewa" And Me.cboGesellschaft_Konto_intern = "AS/ _
Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "LB/Allgemeines Lewa" And Me.cboGesellschaft_Konto_intern = "LB/ _
Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "LHB/Allgemeines Lewa" And Me.cboGesellschaft_Konto_intern = "LHB/ _
Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "AW/Allgemeines Lewa" And Me.cboGesellschaft_Konto_intern = "AW/ _
Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "AW/Treuhand Lewa" And Me.cboGesellschaft_Konto_intern = "AW/ _
Treuhand Lewa" Then
txtBetrag_MwSt.Text = ""
txtBetrag_MwSt.Enabled = False
txtBetrag_MwSt.BackColor = 14737632
cboGesellschaft_Konto.Text = ""
MsgBox "Sie haben die gleichen Konten ausgewählt!"
Else
If LCase(Right(cboGesellschaft_Konto.Text, 4)) = "euro" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "lewa" _
Or LCase(Right(cboGesellschaft_Konto.Text, 4)) = "lewa" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "euro" Then
txtBetrag_MwSt.Text = ""
txtBetrag_MwSt.Enabled = False
txtBetrag_MwSt.BackColor = 14737632
cboGesellschaft_Konto.Text = ""
MsgBox "Sie haben Konten unterschiedlicher Wärung ausgewählt!"
Else
If LCase(Right(cboGesellschaft_Konto.Text, 4)) = "euro" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "euro" _
Or LCase(Right(cboGesellschaft_Konto.Text, 4)) = "euro" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "euro" Then
txtBetrag_MwSt.Text = ""
txtBetrag_MwSt.Enabled = False
txtBetrag_MwSt.BackColor = 14737632
Else
If Me.cboGesellschaft_Konto = "AS/Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "AW/Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "AW/Allgemeines Euro" _
Or Me.cboGesellschaft_Konto = "AW/Treuhand Lewa" _
Or Me.cboGesellschaft_Konto = "AW/Treuhand Euro" _
Or Me.cboGesellschaft_Konto_intern = "AS/Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto_intern = "AW/Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto_intern = "AW/Allgemeines Euro" _
Or Me.cboGesellschaft_Konto_intern = "AW/Treuhand Lewa" _
Or Me.cboGesellschaft_Konto_intern = "AW/Treuhand Euro" Then
txtBetrag_MwSt.Text = ""
txtBetrag_MwSt.Enabled = False
txtBetrag_MwSt.BackColor = 14737632
Else
txtBetrag_MwSt.Enabled = True
txtBetrag_MwSt.BackColor = &H80000005
End If
End If
End If
End If
End Sub



Private Sub cboGesellschaft_Konto_intern_Change()
If Me.cboGesellschaft_Konto = "DA/Allgemeines Lewa" And Me.cboGesellschaft_Konto_intern = "DA/ _
Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "DA/Kontokorrent Lewa" And Me.cboGesellschaft_Konto_intern = "DA/ _
Kontokorrent Lewa" _
Or Me.cboGesellschaft_Konto = "DA/Treuhand Lewa" And Me.cboGesellschaft_Konto_intern = "DA/ _
Treuhand Lewa" _
Or Me.cboGesellschaft_Konto = "AS/Allgemeines Lewa" And Me.cboGesellschaft_Konto_intern = "AS/ _
Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "LB/Allgemeines Lewa" And Me.cboGesellschaft_Konto_intern = "LB/ _
Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "LHB/Allgemeines Lewa" And Me.cboGesellschaft_Konto_intern = "LHB/ _
Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "AW/Allgemeines Lewa" And Me.cboGesellschaft_Konto_intern = "AW/ _
Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "AW/Treuhand Lewa" And Me.cboGesellschaft_Konto_intern = "AW/ _
Treuhand Lewa" Then
txtBetrag_MwSt.Text = ""
txtBetrag_MwSt.Enabled = False
txtBetrag_MwSt.BackColor = 14737632
cboGesellschaft_Konto_intern.Text = ""
MsgBox "Sie haben die gleichen Konten ausgewählt!"
Else
If LCase(Right(cboGesellschaft_Konto.Text, 4)) = "euro" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "lewa" _
Or LCase(Right(cboGesellschaft_Konto.Text, 4)) = "lewa" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "euro" Then
txtBetrag_MwSt.Text = ""
txtBetrag_MwSt.Enabled = False
txtBetrag_MwSt.BackColor = 14737632
cboGesellschaft_Konto_intern.Text = ""
MsgBox "Sie haben Konten unterschiedlicher Wärung ausgewählt!"
Else
If LCase(Right(cboGesellschaft_Konto.Text, 4)) = "euro" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "euro" _
Or LCase(Right(cboGesellschaft_Konto.Text, 4)) = "euro" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "euro" Then
txtBetrag_MwSt.Text = ""
txtBetrag_MwSt.Enabled = False
txtBetrag_MwSt.BackColor = 14737632
Else
If Me.cboGesellschaft_Konto_intern = "AS/Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto_intern = "AW/Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto_intern = "AW/Allgemeines Euro" _
Or Me.cboGesellschaft_Konto_intern = "AW/Treuhand Lewa" _
Or Me.cboGesellschaft_Konto_intern = "AW/Treuhand Euro" _
Or Me.cboGesellschaft_Konto = "AS/Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "AW/Allgemeines Lewa" _
Or Me.cboGesellschaft_Konto = "AW/Allgemeines Euro" _
Or Me.cboGesellschaft_Konto = "AW/Treuhand Lewa" _
Or Me.cboGesellschaft_Konto = "AW/Treuhand Euro" Then
txtBetrag_MwSt.Text = ""
txtBetrag_MwSt.Enabled = False
txtBetrag_MwSt.BackColor = 14737632
Else
txtBetrag_MwSt.Enabled = True
txtBetrag_MwSt.BackColor = &H80000005
End If
End If
End If
End If
End Sub


10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt zweier Comboboxen vergleichen, dann MsgBox
23.08.2007 16:18:00
Oberschlumpf
Hi Peter
Kannst du bitte eine Bsp-Datei mit obigem Code und allen Steuerelementen uns per Upload zur Verfügung stellen?
Mit nur deinem Code müssen wir erst alles "nachbauen", und es kann trotzdem passiern, dass es nicht genau so wie in deiner Datei aussieht. (es sei denn, einer kann Code lesen und so den Fehler finden)
Danke + Ciao
Thorsten

AW: Inhalt zweier Comboboxen vergleichen, dann Msg
23.08.2007 17:12:00
Peter
Hallo Thorsten,
mit dem ComandButtonn "neue Zahlung intern" wird die Userform gestartet, dann einfach in beiden Comboboxen die gleichen Konten auswählen und somit MsgBoxen provozieren.
meine Datei: https://www.herber.de/bbs/user/45328.zip
Grüße aus Berlin

Anzeige
AW: Inhalt zweier Comboboxen vergleichen, dann Msg
23.08.2007 17:21:00
Hajo_Zi
Hallo Peter,
mein Vorschlag war also falsch?
Gruß Hajo

AW: Inhalt zweier Comboboxen vergleichen, dann Msg
23.08.2007 17:34:00
Peter
Hallo Hajo,
ich weiss nicht was du gemeint hast.
Kannst du mit deiner Hilfe ein wenig konkreter werden?
Grüße aus Berlin

AW: Inhalt zweier Comboboxen vergleichen, dann Msg
23.08.2007 17:38:12
Hajo_Zi
Hallo Peter,
ich habe nun schon konkret hingeschrieben wo was eingefügt werden.
Gruß Hajo

AW: Inhalt zweier Comboboxen vergleichen, dann Msg
23.08.2007 17:53:38
Peter
das hilft mir nicht, lasse bitte meinen Frage als "offen" !!

AW: Inhalt zweier Comboboxen vergleichen, dann MsgBox
23.08.2007 16:19:26
Hajo_Zi
Hallo Peter,
ich baue das nicht nach. Ich würde vemuten als erste Zeile If Name_der_Combox.Tag="1"Then Exit sub
Name_der_Combox.Tag="1"
und vor end Sub
Name_der_Combox.Tag=""

Anzeige
AW: Inhalt zweier Comboboxen vergleichen, dann Msg
23.08.2007 18:11:13
Peter
Hallo,
ich stelle mal eine kleinere einfachere Beispieldatei rein, vielleicht kann mir dann jemand helfen.
Danke im Voraus
Grüße aus Berlin
https://www.herber.de/bbs/user/45334.xls

AW: Inhalt zweier Comboboxen vergleichen, dann Msg
23.08.2007 18:17:52
Hajo_Zi
Hallo Peter,
der Vorteil, wenn man es i ersten Beitrag zu wenig beschreibt ist man darf es selber einbauen. Realisiere es so wie von mir vorgeschlagen.

Private Sub cboGesellschaft_Konto_Change()
If cboGesellschaft_Konto.Tag = "1" Then Exit Sub
cboGesellschaft_Konto_intern.Tag = "1"
cboGesellschaft_Konto.Tag = "1"
If LCase(Right(cboGesellschaft_Konto.Text, 4)) = "euro" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "euro" _
Or LCase(Right(cboGesellschaft_Konto.Text, 4)) = "lewa" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "lewa" Then
cboGesellschaft_Konto.Text = ""
cboGesellschaft_Konto_intern.Text = ""
MsgBox "Sie haben Konten gleicher Wärung ausgewählt!"
End If
cboGesellschaft_Konto_intern.Tag = ""
cboGesellschaft_Konto.Tag = ""
End Sub



Private Sub cboGesellschaft_Konto_intern_Change()
If cboGesellschaft_Konto_intern.Tag = "1" Then Exit Sub
cboGesellschaft_Konto_intern.Tag = "1"
cboGesellschaft_Konto.Tag = "1"
If LCase(Right(cboGesellschaft_Konto.Text, 4)) = "euro" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "euro" _
Or LCase(Right(cboGesellschaft_Konto.Text, 4)) = "lewa" And LCase(Right( _
cboGesellschaft_Konto_intern.Text, 4)) = "lewa" Then
cboGesellschaft_Konto.Text = ""
cboGesellschaft_Konto_intern.Text = ""
MsgBox "Sie haben Konten gleicher Wärung ausgewählt!"
End If
cboGesellschaft_Konto_intern.Tag = ""
cboGesellschaft_Konto.Tag = ""
End Sub



Anzeige
AW: Inhalt zweier Comboboxen vergleichen, dann Msg
23.08.2007 19:03:11
Peter
Danke, funktioniert bestens!

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige