Microsoft Excel

Herbers Excel/VBA-Archiv

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

ÜBERPRÜFEN IN MSGBOX

    Betrifft: ÜBERPRÜFEN IN MSGBOX von: karli
    Geschrieben am: 04.10.2003 21:13:35

    HALLO FORUM
    ich möchte das eine msgbox als fehlermeldung erscheint,
    wenn in zelle "J3"oder "K3"kein monat oder jahr ausgewählt wurde!
    der code müsste meiner meinung nach in diese arbeitsmappe!
    aber wie mach ich das??

    danke
    karli

      


    Betrifft: AW: ÜBERPRÜFEN IN MSGBOX von: PeterW
    Geschrieben am: 04.10.2003 21:22:09

    Hallo Karli,

    wann ist eine Eingabe kein Monat oder kein Jahr, wo soll der Monat und wo was Jahr eingegeben werden, Monat als Zahl oder Text? Was soll nach der MessageBox passieren, die Zellen wieder löschen oder eine Eingabe erzwingen?
    Der Code würde eher in das Modul der Tabelle gehören.

    Gruß
    Peter


      


    Betrifft: AW: ÜBERPRÜFEN IN MSGBOX von: karli
    Geschrieben am: 04.10.2003 21:39:35

    hallo PeterW
    es wird eine neue tab erstellt mit vba.
    dabei wird zb. ein neue tab erstellt namens Okt.03
    das ist aber nur der name der tabelle!
    nun soll in der tabelle Okt.03 in zelle"J3" das monat Okt als Text manuelle
    eingegeben werden!und daneben in zelle "K3" das jahr 2003 als zahl!
    darunter befinden sich formeln zum berechnen von arbeitszeiten!
    die nicht rechnen können wenn in diesen 2 besagten zellen nichts eingegben wurde.
    daher benötige ich eine msgbox die eine warnung schreibt.
    "Bitte geben sie das Jahr und das Monat ein!"
    wenn keine eingabe in diesen feldern ist soll die box so lange auf j3
    oder k3 springen!erfolgt keine eingabe dort dann nochmal die gleiche meldung.
    bis schließlich eine eingabe erfolgt .sonst darf man nichts machen können!

    danke
    karli


      


    Betrifft: MSGBOX, wenn Feld nicht gefüllt von: Boris
    Geschrieben am: 04.10.2003 22:10:13

    Hi Karli,

    möglicherweise ist Peter nicht mehr online - daher anworte ich mal:

    Folgendes Ereignismakro einfügen in das ´Modul der entsprechenden Tabelle (NICHT in ein allgemeines Modul!):

    Option Explicit

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If [j3] = "" Or [k3] = "" Then
        MsgBox "Erst J3 und K3 mit Leben füllen!!!", , "Hinweis..."
        Application.EnableEvents = False
        If [j3] = "" Then [j3].Select Else [k3].Select
        Application.EnableEvents = True
    End If
    End Sub
    


    Zusätzlich würde ich über Daten-Gültigkeit die Eingaben in J3 und K3 einschränken (nach deinen Vorgaben).

    Grüße Boris


      


    Betrifft: AW: MSGBOX, wenn Feld nicht gefüllt von: karli
    Geschrieben am: 04.10.2003 22:18:35

    hi Boris
    Vielen vielen DANK !!!!!!
    funkt gleich auf's erste mal!!

    gruss
    karli


      


    Betrifft: AW: MSGBOX, wenn Feld nicht gefüllt von: PeterW
    Geschrieben am: 04.10.2003 22:33:22

    Hallo Boris,

    war schon noch da - aber manchmal gibt es mal für einige Zeit etwas Privatleben. Hätte vor dem Lösungsansatz prüfen müssen, ob und wer sich schon gemeldet hat. So hab ich mal wieder für die Tonne gedacht.

    Gruß
    Peter


      


    Betrifft: Sorry, war nicht meine Absicht... von: Boris
    Geschrieben am: 04.10.2003 22:35:38

    Hi Peter,

    ...weil ich weiss, dass du so nen Code normalerweise in 3 Minuten aus dem Ärmel schüttelst, dachte ich in der Tat, dass du eben dein Privatleben geniesst;-))

    Allerdings ist dein Ansatz doch wiederum ein leicht anderer - so hat Karli 2 Möglichkeiten.

    Grüße Boris


      


    Betrifft: AW: ÜBERPRÜFEN IN MSGBOX von: PeterW
    Geschrieben am: 04.10.2003 22:30:17

    Hallo Karlie,

    für die beiden Zellen würde ich Gültigkeiten festlegen: für J3 eine Liste mit den Monatsnamen und für K3 eine Ganzzahl im Gültigkeitsbereich 2000 - 200x. Um Eingaben zu erzwingen könnte folgender Code (im Modul der Tabelle) ein Ansatz sein.

    Gruß
    Peter
    Private Sub Worksheet_Change(ByVal Target As Range)
       If IsEmpty(Range("J3")) Or IsEmpty(Range("K3")) Then
          Application.EnableEvents = False
          If Intersect(Target, Range("J3:K3")) Is Nothing Then
             Target = ""
             Range("J3:K3").Select
          End If
          Application.EnableEvents = True
          MsgBox "Monat UND Jahr müssen eingegeben werden"
       End If
    End Sub
    



     

    Beiträge aus den Excel-Beispielen zum Thema " ÜBERPRÜFEN IN MSGBOX"