Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1172to1176
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
Msgbox mit JA NEIN
Jockel
Hallo,
ich lade mir Daten in ein Sheet. Danach möchte ich prüfen, ob in der Zelle der Wert mit "OK" beginnt:
If Left$(Range("A1"), 2) = "OK" Then
MsgBox "blabla"
End If
Es soll nun folgendes geprüft werden:
Wenn Zelle A1 nicht mit OK beginnt, soll eine MsgBox aufgehen und fragen, ob es die richtigen Daten sind.
Wenn ich auf NEIN klicke, soll eine weitere msgbox kommen, ob die Daten gelöscht werden sollen. Wenn ich auf JA klicke, soll der Inhalt der Spalte A gelöscht werden, wenn NEIN, dann ein exit sub
Wenn ich in der ersten msgbox (Frage ob richtige Daten) JA klicke, soll es einfach weitergehen, (also einfach diesen Teil verlassen und mein nachfolgender Code geht weiter)
Wie verschachtelt man denn das ?
Danke Jockel

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

Betreff
Benutzer
Anzeige
AW: Msgbox mit JA NEIN
17.08.2010 09:17:43
xr8k2
Hallo Jockel,
versuch mal sowas:
Sub jockel()
If Left$(Range("A1"), 2) = "OK" Then
If MsgBox("Sind´s die richtigen Daten?", vbYesNo) = vbNo Then
If MsgBox("Soll der Zellinhalt gelöscht werden?", vbYesNo) = vbYes Then
Range("A1").ClearContents
End If
End If
End If
End Sub
Gruß,
xr8k2
AW: Msgbox mit JA NEIN
17.08.2010 09:18:59
Matthias
Hallo
Im Prinzip so:


Dim Erg
If UCase(Left(Range("A1"), 2)) = "OK" Then
Erg = MsgBox("richtige Daten ? ", vbYesNo + vbInformation)
If Erg = 6 Then MsgBox "richtige Daten :)"
If Erg = 7 Then MsgBox "falsche Daten :("
End If


Je nach Auswertung kannst Du nun Deinen weiteren Code bei Erg=6
oder den anderen Code bei Erg=7 einbringen.
Gruß Matthias
Anzeige
Dim Erg As vbMsgBoxResult ! Gruß owT
17.08.2010 10:20:51
Luc:-?
:-?
Hey Luc, wo ist der Unterschied ?
17.08.2010 10:59:19
Matthias
Hallo Luc:-?
Option Explicit
Sub ml()
'Dim Erg                  'Wo liegt der Unterschied ? Ja ergibt 6, Nein ergibt 7
Dim Erg As VbMsgBoxResult 'Wo liegt der Unterschied ? Ja ergibt 6, Nein ergibt 7
If UCase(Left(Range("A1"), 2)) = "OK" Then
Erg = MsgBox("richtige Daten ? ", vbYesNo + vbInformation)
MsgBox Erg 'Kontrolle ;o)
If Erg = 6 Then MsgBox "richtige Daten :)"
If Erg = 7 Then MsgBox "falsche Daten :("
End If
End Sub
Nur die Speicherreservierung? Es klappen doch beide Varianten.
Erklärs mir bitte.
Gruß Matthias
Anzeige
Sicher, aber die VBE-Intellisense zeigt dir...
17.08.2010 11:06:38
Luc:-?
…in Var2 alle Wert-Möglichkeiten an, Matthias,
in Var1 aber nicht! ;-)
Gruß Luc :-?
ok, akzeptiert ;o) kwT
17.08.2010 11:08:09
Matthias
Ich verstehe nix.....
18.08.2010 17:21:27
NoNet
Hallo Matthias,
unabhängig von der Typendeklaration die Luc vorgeschlagen hat, empfehle ich, so oft wie möglich mit den in VB(A) enthaltenen vbKonstanten zu arbeiten.
Mit der Syntax If Erg=6 then können wohl die meisten VBA-User kaum etwas anfangen - bzw. man fragt sich, wieso bei einer MsgBox mit den Schaltflächen   plötzlich der Wert 6 resultieren sollte !
Besser lesbar ist die Alternative If Erg=vbYes then
Bei Ja/Nein kann man sich die Werte 6 / 7 evtl. noch merken, aber bei anderen Konstanten sicherlich nicht (z.B. vbCancel, vbAbort, vbRetry : 2 / 3 / 4 - oder vbcritical, vbquestion, vbinformation : 16 / 32 / 64 - oder die Farben : vbRed, vbMagenta, vbGreen : 255 /16711935 / 65280 - etc.)
Ist nur ein unbedeutender Hinweis bzw. eine Bitte von mir, da ich ansonsten "nix verstehe" ;-)
Gruß, NoNet
Anzeige
;o)
19.08.2010 10:38:23
Matthias
Ahhh ... Ich verstehe nix ... !
AW: ;o)
19.08.2010 11:22:31
NoNet

Wobei es noch andere Gründe geben kann,...
20.08.2010 11:55:38
Luc:-?
…das zu tun, NoNet…
Übrigens habe ich Mitte der 90er diese Werte noch manuell addiert - geht auch…! :-)
Gruß+schöWE, Luc :-?

86 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige