Das Archiv des Excel-Forums
msg box
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
a = MsgBox("Wenn nicht sicher, dass alle erforderlichen Daten eingegeben wurden, überprüfen Sie dies bitte noch einmal. Fehlende oder falsch eingegebene Werte führen zu falschen Berechnungen der PivotTable", _
4 + 48, "Liebe(r) " & Application.UserName)
End Sub
So, wo und wie kann ich jetzt eingeben, dass bei "ja" gespeichert wird, bei "nein" nicht gespeichert wird. außerdem die Frage ob wirklich gespeichert werden soll!
Ich danke euch schon mal!!!!
Betrifft: AW: msg box - Rückgabewert
von: Galenzo
Geschrieben am: 23.09.2003 10:16:14
Dazu mußt du den Wert auswerten :-), den die FUNKTION (!) msgbox zurückgibt:
In deinem Fall hast du den schon richtigerweise einer Variablen (a) zugewiesen.
Das Beispiel, daß die auch F1 (!!!) liefert :
If a = vbYes Then ' Benutzer hat "Ja" ' gewählt
.....
Else ' Benutzer hat "Nein" gewählt.
.....
End If
Betrifft: AW: msg box - Rückgabewert
von: Der Befehl für speichern / nicht speichern?
Geschrieben am: 23.09.2003 10:18:02
Hey danke!!!
Das ging ja schnell!
Wie ist denn der Befehl für speichern, bzw. nicht speichern?
MfG
Betrifft: AW: msg box - Rückgabewert
von: Andi_H
Geschrieben am: 23.09.2003 10:23:38
hi,
If a = vbYes Then
ThisWorkbook.Save
Else
Cancel = True
End If
gruß
andi
Betrifft: AW: msg box - Rückgabewert
von: Bison
Geschrieben am: 23.09.2003 10:32:02
Das versteh ich nicht!
1. sagt der mir, end if ohne if block,
2. mit dem else......... klappt das nicht
..........?
Betrifft: AW: msg box - Rückgabewert
von: Galenzo
Geschrieben am: 23.09.2003 10:38:09
Du mußt das genauso abtippen. Speziell die Zeilenwechsel!
Betrifft: und noch was...........
von: Bison
Geschrieben am: 23.09.2003 10:50:18
Ah so!!!!!!!!!!!
Und eine Frage habe ich noch:
ist es irgendwie möglich, den Text in der msg Box manuell auf mehrere Zeilen zu verteilen? evtl. mit Absatz. Ich mein aber nicht im vba editor sondern wirklich in dem Fenster nachher........
?????
Betrifft: AW: und noch was...........
von: Galenzo
Geschrieben am: 23.09.2003 10:58:09
na klar geht dös:
Dazu setzt du den Text zeilenweise zusammen, für den Zeilenwechsel gibt es die
vordefinierte Konstante "vbCrLf".
Also z.B. so:
a= MsgBox("Text 1.Zeile" & vbCrLf & "zweite Zeile" & vbCrLf & "dritte Zeile", vbYesNo....
Viel Erfolg.
Betrifft: Was würde man nur machen ohne Euch?
von: Bison
Geschrieben am: 23.09.2003 11:02:56
Klappt!!!! (Du denkst jetzt wahrscheinlich: "natürlich klappt das"?)
kann man auch nen absatz machen?
Betrifft: Oh man, bin ich am nerven!!!
von: Bison
Geschrieben am: 23.09.2003 11:07:08
Kann man den Text auch mittig schreiben?
Betrifft: AW: Oh man, bin ich am nerven!!!
von: Galenzo
Geschrieben am: 23.09.2003 11:16:36
Absatz: vbCrLf & vbCrLf (also 2 Leerzeilen)
Zentriert: Nö, weder zentrieren, noch irgendwie formatieren (fett/rot..)
Abhilfe: Userform basteln und zeigen/auswerten/verbergen
Notwendig: noch bessere Kenntnisse VBA
Sonst: mußt du versuchen, in deiner MsgBox mit Leerzeichen eine gewisse
Textanordnung herzustellen
Nerven: mich nerven eigentlich nur Fragen, die doppelt und jeden Tag auf's
neue gestellt werden, ohne F1 oder die Recherche zu bemühen :-)
Betrifft: AW: Oh man, bin ich am nerven!!!
von: Bison
Geschrieben am: 23.09.2003 11:21:43
Vielen Dank!!!
Wenn ich hier Fragen gestellt habe, die Karl hätte beantworten können, tuts mir leid. Das Problem ist dass ich in der Arbeit bin und das prog. mit VBA eigentlich nicht vorgesehen war, daher die Hilfe nicht drauf ist
Betrifft: AW: Nein, DU nervst nicht.
von: Galenzo
Geschrieben am: 23.09.2003 11:55:21
Nein nein, DU warst damit garnicht gemeint.
Ich wollte eigentlich nur sagen, WAS mich generell an Fragen nervt.
Und die Hilfe solltest du unbedingt noch nachinstallieren - da kann man viel dazulernen!
Bis denne...
Betrifft: AW: msg box - Rückgabewert next msg Box
von: Bison
Geschrieben am: 23.09.2003 10:54:42
Mir ist gerade was eingefallen!
Wenn man dann nein drückt, um die Daten nochmal zu kontrolliern, ist es möglich, dass Excel es erkennt, dass man nein gedrückt hat und beim speichern danach eine andere msg box erscheint?
Aber beim nächsten Öffnen halt wieder die erste.........
versteht man meine tolle Formulierung?
:-)
Betrifft: AW: msg box - Rückgabewert
von: Andi_H
Geschrieben am: 23.09.2003 10:39:07
versteh ich auch nicht, habs versucht, bei mir klappts.
Versuch diesen Code mal:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
a = MsgBox("Wenn nicht sicher, dass alle erforderlichen Daten eingegeben wurden, überprüfen Sie dies bitte noch einmal. Fehlende oder falsch eingegebene Werte führen zu falschen Berechnungen der PivotTable", _
4 + 48, "Liebe(r) " & Application.UserName)
If a = vbNo Then Cancel = True
End Sub
Betrifft: mh...... das klappt!
von: Bison
Geschrieben am: 23.09.2003 10:43:19
Jo, so klappt es!!!!!
Dank Dir!!!!!!
MfG
Betrifft: AW: msg box - Rückgabewert
von: Galenzo
Geschrieben am: 23.09.2003 10:23:57
Gut, wenn du nur speichern willst, wenn ja gedrückt wurde, dann reicht:
If a =vbYes Then
ActiveWorkbook.Save
(else
exit sub) ' falls du die SUB verlassen willst
end if