Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1080to1084
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
Inhaltsverzeichnis

Hinweis per MsgBox nach Dateneingabe

Hinweis per MsgBox nach Dateneingabe
11.06.2009 10:34:43
Markus
Hallo zusammen,
in meinem Excel-Sheet müssen einige Felder manuell mit Daten gefüllt werden. Die einzugebenden Möglichkeiten habe ich bereits per Gültigkeitsabfrage abgefangen. Nun möchte ich aber, dass zusätzlich bei einer Eingabe ein Hinweis erscheint, der den Anwender beim bearbeiten des Vorganges auf bestimmte Dinge hinweist. Wie bekomme ich diese MsgBox zum laufen? Eine Kreuzabfrage mit anderen Zellen ist nicht notwendig.
Danke für die Hilfe!
Markus

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hinweis per MsgBox nach Dateneingabe
11.06.2009 10:38:17
bernd
hallo,
bei daten-gültigkeit gibt es auch die möglichkeit einer EINGABEMELDUNG,
genügt das vielleicht ?
gruß bernd
AW: Hinweis per MsgBox nach Dateneingabe
11.06.2009 10:40:56
Heiko
hallo markus,

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target
Case 'Hier die Zelle eintragen
MsgBox 'Hinweistext'


usw. usf.
Heiko

AW: Hinweis per MsgBox nach Dateneingabe
11.06.2009 10:49:35
Tino
Hallo,
könnte vielleicht so gehen.
kommt als Code in die Tabelle
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
Dim MSG_Bereich As Range 
Static booEinmal As Boolean 
 
 
If Not booEinmal Then 'Anzeige nur einmal auslösen 
    Set MSG_Bereich = Range("A1:A10") 'Bereich für die Info 
     
    If Not Intersect(Target, MSG_Bereich) Is Nothing Then 'prüfen ob im Bereich 
     MsgBox "Geben Sie im Bereich " & MSG_Bereich.Address(0, 0) & " ein Datum ein!", vbInformation 
     booEinmal = True 
    End If 
 
End If 
End Sub 


Gruß Tino

Anzeige
AW: Hinweis per MsgBox nach Dateneingabe
11.06.2009 11:37:50
Markus
Hi ihr Drei!
@ Bernd: Leider reicht es nicht, denn es gibt unterschiedliche Auswirkungen und kann das pauschal nicht mit einem Text abfangen.
@ Heiko und Tino: Entweder hab ich`s nicht verstanden, oder mich nicht richtig ausgedrückt.
Also, ich habe z.B. im Feld B6 die Zahlauswahlmöglichkeiten 52-57. Wenn jetzt der Anwender z.B. 56 auswählt oder eingibt, dann hat er im Verlauf der Bearbeitung auf Dinge zu achten, auf die ich hinweisen möchte. Die unterschiedlichen Eingaben, haben auch unterschiedliche Auswirkungen. Nicht bei allen Zahlen aus diesem Bereich müssen Hinweise erscheinen. Nun suche ich nach einer Möglichkeit, dass nach Eingabe z.B 56 eine MsgBox eingeblendet wird, die den entsprechenden Hinweis anzeigt. Über die Gültigkeitsabfrage mit Hinweistext könnte ich natürlich alle möglichen Varianten reinschreiben, finde ich aber nicht so elegant, da immer nur ein Hinweis zutrifft und der Rest nicht passt.
Grüße
Markus
Anzeige
AW: Hinweis per MsgBox nach Dateneingabe
11.06.2009 12:01:45
Tino
Hallo,
bauen wir eine Funktion ein, die den entsprechenden Text zu der Nummer zurückgibt.
Beispiel:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MSG_Bereich As Range

    Set MSG_Bereich = Range("A1:A10") 'Bereich für die Info 
    
    If Not Intersect(Target, MSG_Bereich) Is Nothing Then 'prüfen ob im Bereich 
     MsgBox strMSG(Target.Value), vbInformation
    End If
End Sub


'Funktion für die Meldungen 
Private Function strMSG(iWert As Integer) As String
Select Case iWert
 Case 56: strMSG = "Hinweis zu 56"
 Case 57: strMSG = "Hinweis zu 56"
 Case 58: strMSG = "Hinweis zu 56"
 Case 59: strMSG = "Hinweis zu 56"
End Select
End Function


Gruß Tino

Anzeige
AW: Hinweis per MsgBox nach Dateneingabe
11.06.2009 12:10:05
Markus
Okay Tino,
ich hatte es beim ersten Mal nicht verstanden (manchmal isses zum weglaufen......). Aber jetzt funktionierts bestens!!!! Eine sehr elegante Lösung!
Danke Dir!
Grüße
Markus
AW: Hinweis per MsgBox nach Dateneingabe
11.06.2009 13:44:35
Markus
Sorry Tino, ich bins nochmal.
Mir ist beim testen doch noch etwas aufgefallen. Wenn ich jetzt im Feld B6 eine Zahl auswähle, für die ich keinen Hinweis einblenden lassen möchte, wird auch die MsgBox eingeblendet. Das würde ich gerne unterdrücken. Und, ich habe leider zwischen den ganzen Zahlen 52-57 auch eine 56b stehen. Die kann ich auch nicht abändern, weil diese aus einem anderen Programm stammt und dort nicht geändert werden kann. Wie baue ich denn diese "Zahl" in die Abfrage ein?
Grüße
Markus
Anzeige
AW: Hinweis per MsgBox nach Dateneingabe
12.06.2009 13:46:11
Tino
Hallo,
sorry das ich mich erst jetzt melde,
nach einem Vista Update hatte ich mit einem blauen Bildschirm zu kämpfen.
Hier mal etwas erweiter, ist die Nummer in der Funktion nicht vorhanden, wird auch keine Meldung ausgegeben.
kommt als Code in Tabelle
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim MSG_Bereich As Range 
Dim strText As String 
 
    Set MSG_Bereich = Range("A1:A10") 'Bereich für die Info 
     
    If Not Intersect(Target, MSG_Bereich) Is Nothing Then 'prüfen ob im Bereich 
         
        strText = strMSG(Target.Value) 'Textabfrage 
      
        If strText <> "" Then 'wurde ein Text zurückgegeben 
           MsgBox strMSG(Target.Value), vbInformation 'Ausgabe 
        End If 
     
    End If 
End Sub 
 
 
'Funktion für die Meldungen 
Private Function strMSG(iWert As Integer) As String 
    Select Case iWert 
     'Nummer und Texte entsprechend anpassen 
     Case 56: strMSG = "Hinweis zu 56" 
     Case 57: strMSG = "Hinweis zu 57" 
     Case 58: strMSG = "Hinweis zu 58" 
     Case 59: strMSG = "Hinweis zu 59" 
     Case 60 To 65: strMSG = "Hinweis zu 60 bis 65" 
     'usw... 
    End Select 
End Function 


Gruß Tino

Anzeige
Hurra! Es klappt :-)
12.06.2009 14:43:38
Markus
Hi Tino,
nochmals Danke das Du geschaut hast. Hoffentlich haste das mit dem Vista Update wieder hinbekommen und der PC läuft wieder so wie immer. Is ja leider nicht immer so.........
Hatte so langsam die Hoffnung aufgegeben, aber das Gute war, dass ich jetzt Deinen Code verstehe. Ich könnte ihn zwar immer noch nicht schreiben, aber ich verstehe es und das beruhigt mich etwas. Habe aus der Function (iWert As Integer) ein iWert As String gemacht, da ich leider auch eine 56B zur Auswahl habe. Hatte auch so lange rumgetüfftelt, dass ich jetzt eine MsgBox für einen einzelnen Wert bekomme. Ich weiß, der Code wird für viele ein leichtes sein, aber Kleinvieh macht auch Mist und bin en bissl stolz auf mich. Okay, soviel zu meiner aktuellen Gemütsverfassung :-)
Dein Code funktioniert genau so wie ich es mir vorgestellt habe. Es erfolgt nur dann ein Hinweis, wenn die entsprechende Eingabe erfolgt.
Nochmals Danke für Deine Hilfe!
Grüße Markus
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige