MessageBox erscheint 2x, sollte aber nur 1x

  • #1
S

S1!c3r

Mitglied
Themenersteller
Dabei seit
21.01.2005
Beiträge
24
Reaktionspunkte
0
Es handelt sich hier um VBA...

Also zum Problem.
Um eine Fläche zu berechnen kann man dies mit der Breite und der Tiefe machen oder halt mit dem Durchmesser. Natürlich darf man nicht in allen Textboxen was eintragen, deshalb wird gefragt, wenn bereits in der Breite und Tiefe etwas definiert wird und man den Durchmesser eintragen will, ob man diese Änderung durchführen möchte und somit die Einträge unter Breite und Tiefe löschen möchte.
Es erscheint also eine MsgBox (vbYesOrNo).

Wenn man auf ja klickt werden die Textfelder Breite und Tiefe deaktiviert und bei nein wird die textbox durchmesser deaktiviert.
Aber wenn man nein betätigt erscheint die MsgBox ein weiteres mal. Was ist das Problem?

Vielen Dank für eure Hilfe!!

Hier noch der Code:
Code:
Private Sub txt_kabine_breite_Change()
  inhalt = txt_kabine_breite.Text
  If txt_kabine_breite.Text =  Then
    txt_kabine_durchmesser.BackColor = RGB(228, 228, 228)
    txt_kabine_durchmesser.Enabled = True
  End If
End Sub
Private Sub txt_kabine_durchmesser_Change()
  If txt_kabine_breite.Text = inhalt Or txt_kabine_tiefe.Text = inhalt Then
      Mldg = Es wurde bereits die Breite od./und die Tiefe definiert. Wollen Sie diese wieder löschen? -> Meldung definieren.
      Stil = vbYesNo + vbCritical + vbDefaultButton2 -> Schaltflächen
      Titel = Durchmesser verwenden? -> Titel definieren.
      Antwort = MsgBox(Mldg, Stil, Titel) ->Meldung anzeigen.
 
        If Antwort = vbYes Then
              txt_kabine_breite.BackColor = RGB(255, 0, 0)
              txt_kabine_tiefe.BackColor = RGB(255, 0, 0)
              txt_kabine_breite.Text = 
              txt_kabine_tiefe.Text = 
              txt_kabine_breite.Enabled = False
              txt_kabine_tiefe.Enabled = False
              inhalt = 1
            Else
              txt_kabine_breite.BackColor = RGB(228, 228, 228)
              txt_kabine_tiefe.BackColor = RGB(228, 228, 228)
              txt_kabine_durchmesser.Text = 
              txt_kabine_durchmesser.Enabled = False
              txt_kabine_durchmesser.BackColor = RGB(255, 0, 0)
              txt_kabine_breite.Activate
        End If
  End If
  If txt_kabine_durchmesser.Text =  Then
    txt_kabine_breite.BackColor = RGB(228, 228, 228)
    txt_kabine_tiefe.BackColor = RGB(228, 228, 228)
    txt_kabine_breite.Enabled = True
    txt_kabine_tiefe.Enabled = True
  End If
End Sub
Private Sub txt_kabine_tiefe_Change()
  inhalt = txt_kabine_tiefe.Text
  If txt_kabine_breite.Text =  Then
    txt_kabine_durchmesser.BackColor = RGB(228, 228, 228)
    txt_kabine_durchmesser.Enabled = True
  End If
End Sub

Die Exceldatei könnt ihr unter:
http://www.xgfx.net/temps/test.xls
downloaden!

Danke!
lg
Bernhard
 
  • #2
hallo,

versuch mal die Zeile:

If txt_kabine_breite.Text = inhalt Or txt_kabine_tiefe.Text = inhalt then

mit dieser zu ersetzen:

If txt_kabine_breite.Text = inhalt Or txt_kabine_tiefe.Text = inhalt And (txt_kabine_durchmesser.Text <> ) Then

MfG

bartsimspson007
 
Thema:

MessageBox erscheint 2x, sollte aber nur 1x

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.836
Beiträge
707.957
Mitglieder
51.489
Neuestes Mitglied
DonMartin
Oben