Microsoft Excel

Herbers Excel/VBA-Archiv

MsgBox nur einmalig aktivieren


Betrifft: MsgBox nur einmalig aktivieren
von: Marcus
Geschrieben am: 16.04.2019 08:51:41

Guten Morgen,
beim öffnen erscheinen verschiedene MsgBoxen, welche nach der Entscheidung beim nächsten öffnen dem User nicht noch mal erscheinen sollen. Beim öffnen erscheint die Frage Deutsch oder Englisch? beim aktivieren werden die Texte umgewandelt. Beim nächsten öffnen kann es passieren das die ausgefüllten Werte wieder verschwinden, wenn die falsche Sprache ausgewählt wird, da das Formular wieder auf seinen Ursprung springt.

Danach erscheint eine MsgBox (UmtK) wo aus einer Liste verschiedene Tabellenblätter ausgewählt werden kann. Wenn ich die gespeicherte Datei wieder öffne muss dies nicht noch mal erscheinen.

Wie packe ich so was in die VBA-Code?

Herzlichen Dank vorab für die Unterstützung.
MfG
Marcus

Beispiele:
1.










Private Sub CommandButton1_Click()

    If MsgBox("Sind Kriterien für Utilities mit technischem Klärungsbedarf (UmtK) zu berü _
cksichtigen?", vbYesNo + vbQuestion) = vbNo Then
    GoTo Zeile1
    Else
        Call KritUmtK.Show
        Sheets("Allgem Analyse").Activate
    End If

2.










Private Sub CommandButton2_Click()
ActiveSheet.Unprotect Password:="123"

Range("B2").Value = "Cost Benefit Analysis (Stand February 2019)"
Range("B5").Value = "Supply Measure:"
Range("B6").Value = "Project:"
Range("B7").Value = "Comments:"
Range("B9").Value = "Quantifier monetary & nonmonetary criteria"
Range("B12").Value = "Imputed Interest Rate"

ActiveSheet.Protect Password:="123"
End
End Sub


  

Betrifft: AW: MsgBox nur einmalig aktivieren
von: Nepumuk
Geschrieben am: 16.04.2019 09:45:08

Hallo Marcus,

ist das eine Vorlage (.xltm) die du da öffnest?

Gruß
Nepumuk


  

Betrifft: AW: MsgBox nur einmalig aktivieren
von: Marcus
Geschrieben am: 16.04.2019 15:36:44

Die Dateiendung ist xlsm


  

Betrifft: AW: MsgBox nur einmalig aktivieren
von: Nepumuk
Geschrieben am: 16.04.2019 15:52:58

Hallo Marcus,

und die wird nach dem Öffnen unter einem anderen Namen gespeichert?

Gruß
Nepumuk


  

Betrifft: AW: MsgBox nur einmalig aktivieren
von: Daniel
Geschrieben am: 16.04.2019 16:06:15

Hi

ich würde die Auswahl der Messagebox in eine Zelle hinterlegen und im späteren Code den Inhalt dieser Zelle verwenden.

beim Öffnen würde ich dann abfragen, ob diese Zelle einen Wert hat und wenn nein, die Messagebox aufrufen und wenn ja, direkt weiter machen.

also im Prinzip so:

If Sheets("Hintergrunddaten").Cells(1, 1).Value = "" Then
    Sheets("Hintergrnddaten").Cells(1, 1).Value = Messagebox(...)
end if
If Sheets("Hintergrunddaten").Cells(1, 1).Value = vbNO then
   hier der Code für nein
Else
   her der Code für ja
End if
wenn dann Anwender nochmal die Chance für eine Auswahl bekommen soll, leert man einfach die Zelle in welcher die Information hinterlegt ist (dh wenn hierfür eine Vorlagendatei existiert, muss in dieser die Zelle leer sein).

das Sheet "Hintergrunddaten" kannst du ausblenden.

Gruß Daniel