Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Message Box nur einmalig anzeigen | Herbers Excel-Forum


Betrifft: Message Box nur einmalig anzeigen von: Jenny
Geschrieben am: 05.04.2012 21:16:29

Hi Ihr,

ich habe eine Tabelle mit einem Eingabefeld in E2, in das beliebige Begriffe eingetragen werden können.

Daneben befindet sich ein Button, der beim Anklicken per Makro eine Datenbank nach dem in E2 eingetragenen Begriff durchsucht und vor Anzeige der Suchergebnisse eine Message Box anzeigt.

Die Message Box ist dabei als extra Sub gespeichert und wird per Call aufgerufen.

Gibt es eine Möglichkeit, dass die Message Box nur beim ersten Start des Suchmakros erscheint und ansonsten nicht mehr, so lange die Datei geöffnet bleibt ?

Beispiel:
Jemand öffnet die Datei, startet die Suche und sieht die Message Box.
Behält er die Datei offen und startet anschließend eine weitere Suche, soll keine Message Box mehr erscheinen.

Hoffe, Ihr könnt mir weiterhelfen ! :-)

LG und vielen Dank Euch im Voraus,
Jenny

  

Betrifft: Sicher! Setze eine Boolesche Variable ... von: Luc:-?
Geschrieben am: 05.04.2012 21:30:42

…bei der 1.Anzeige der MsgBox, Jenny,
die wird bei Beenden bzw Start der Datei auf False gesetzt, falls das Makro nicht zur Datei gehört, sondern in einer anderen steht. Anderenfalls wäre das Zurücksetzen der Variable nicht erforderlich.
Du kannst aber auch dem Nutzer die Entscheidung darüber überlassen. Dann musst du in der Box fragen, ob sie immer, nicht mehr oder bei jedem Aufruf der Datei angezeigt wdn soll und das entsprechend umsetzen.
Gruß + FrOst, Luc :-?


  

Betrifft: AW: Sicher! Setze eine Boolesche Variable ... von: Jenny
Geschrieben am: 05.04.2012 21:43:42

Hi Luc,

vielen Dank für Deinen Beitrag !

Das Makro befindet sich in der gleichen Datei. Die Frage an den User, ob er die Message Box öfter sehen will, ist nicht nötig - es müsste lediglich geprüft werden, ob seit dem Öffnen der Datei bereits einmal das Suchmakro gestartet wurde oder noch nicht. :-)

Kannst Du mir mit der Variable helfen ?
So etwas habe ich leider noch nicht gemacht.

Mein Suchmakro sieht momentan wie folgt aus - der eingebene Suchbegriff wird dabei per Formel in den Filter übernommen:

Sub Search()
'
    ActiveSheet.Unprotect "XXX"
    Range("L3").FormulaR1C1 = "1"
    Selection.AutoFilter Field:=1, Criteria1:=Range("M2"), _
        Operator:=xlOr, Criteria2:=Range("N3")
    Selection.AutoFilter Field:=2, _
        Criteria1:=Range("N2")
    Range("C9:K1007").WrapText = True
    Rows(6).Hidden = False
    ActiveSheet.Shapes("Option Button 11").Visible = True
    ActiveSheet.Shapes("Option Button 12").Visible = True
    Range("E2").Select
    Statistic (Range("E2").Value)
    ActiveSheet.Protect UserInterfaceOnly:=True, Password:="XXX"
End Sub
Wenn sonst etwas in meinem (Anfänger)Code auffällt, freue ich mich natürlich auch da über Tipps. :-)

LG,
Jenny


  

Betrifft: AW: Sicher! Setze eine Boolesche Variable ... von: Nepumuk
Geschrieben am: 05.04.2012 22:29:15

Hallo,

ein Beispiel:

Public Sub Beispiel()
    Static sblnCalled As Boolean
    If Not sblnCalled Then
        Call Jenny_ruft_die_Msgbox
        sblnCalled = True
    End If
End Sub

Private Sub Jenny_ruft_die_Msgbox()
    MsgBox "Hallo Hallo"
End Sub

Gruß
Nepumuk


  

Betrifft: AW: Sicher! Setze eine Boolesche Variable ... von: Jenny
Geschrieben am: 05.04.2012 22:46:02

Hallo Nepumuk,

vielen Dank dafür - das ist super so und genau richtig ! :-)

Klasse !

LG und einen schönen Abend Dir,
Jenny


Beiträge aus den Excel-Beispielen zum Thema "Message Box nur einmalig anzeigen"