Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MsgBox bei Eingabe des gleichen Wertes

Forumthread: MsgBox bei Eingabe des gleichen Wertes

MsgBox bei Eingabe des gleichen Wertes
20.11.2016 19:46:30
Uwe
hallo
Folgendes: In Tabelle 1 in Spalte G werden immer wieder in
unterschiedlicher Reihenfolge 6 verschiedene Zahlen eingegeben.
Die 6 Zahlen sind immer die Gleichen. zB:
1
2
3
4
5
6
4
6
3
4 usw, ich möchte, das immer, wenn zB die 3 eingegeben wird, eine MsgBox sich öffnet,
mit Ja + Nein, es sollen keine doppelten Zahlen gesucht werden
Herzlichen Dank im Vorraus Gruss Uwe
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox bei Eingabe des gleichen Wertes
20.11.2016 21:08:19
Steffen
Im VBA Projekt bei Tabelle1 eintragen:
Private Sub Worksheet_Change(ByVal Target As Range) 'Wert 3 in Spalte G If Target.Value = 3 And Target.Column = 7 Then MsgBox "Sie haben eine 3 erfasst.", vbYesNo End If End Sub Gruß Steffen
AW: MsgBox bei Eingabe des gleichen Wertes
20.11.2016 21:52:22
Uwe
Herzlichen Dank erstmal, finde es toll, wenn jemand Sonntags hilft.
so, wie`s jetzt ist, kommt die MSGbox, wenn ich auf eine schon vorhandene 3 klicke,
soll aber jedesmal erscheinen, wenn wieder eine 3 in die Spalte G eingegeben wird.
Ich krieg das nicht gebacken
Gruss vom dankbaren Uwe
Anzeige
benutz doch eine Gültigkeitsregel
20.11.2016 22:06:00
Matthias
Hallo
hier mal als Bsp.
Userbild
Tabelle1

 G
13
2 
3 
4 

Datengültigkeit der Tabelle
ZelleZulassenDatenEingabe 1Eingabe 2
G1Benutzerdefiniert =ZÄHLENWENN($G$1:$G$25;3)=1 
G2Benutzerdefiniert =ZÄHLENWENN($G$1:$G$25;3)=1 
G3Benutzerdefiniert =ZÄHLENWENN($G$1:$G$25;3)=1 
G4Benutzerdefiniert =ZÄHLENWENN($G$1:$G$25;3)=1 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Matthias
Anzeige
AW: benutz doch eine Gültigkeitsregel
20.11.2016 22:41:54
Uwe
Gültigkeitsregel nützt mir nicht, da die MsgBox einen vergesslichen Kollegen an weitere
wichtige Eingaben erinnern soll, immer dann, wenn er seine Aufträge bucht, die 3
ist eine Personalnummer
Trotzdem Danke für den Tip
AW: MsgBox bei Eingabe des gleichen Wertes
21.11.2016 07:47:57
Steffen
So jetzt beim Eintragen und beim Markieren einer Zelle in Spalte G:
Private Sub Worksheet_Change(ByVal Target As Range)
'Wert 3 in Spalte G beim Eintragen einer 3
If Target.Value = 3 And Target.Column = 7 Then
MsgBox "Sie haben eine  3 erfasst.", vbYesNo
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Wert 3 in Spalte G beim Markieren, wenn 3 drin steht
If Target.Value = 3 And Target.Column = 7 Then
MsgBox "Sie haben eine  3 erfasst.", vbYesNo
End If
End Sub

Sollte es noch nicht das sein, was Du suchst; bitte konkreter erläutern, was Du tatsächlich brauchst.
Anzeige
AW: MsgBox bei Eingabe des gleichen Wertes
21.11.2016 10:50:29
Uwe
Hallo, das ìsses noch nicht, in Spalte G werden jeden Tag
6 verschiedene Personalnummern eingetragen, immer die gleichen
Nummern, aber in unterschiedlicher Reihenfolge , nun soll
jedes mal,wenn die 3 eingetippt wird, Msgbox aufgehen, um diesen
Kollegen daran zu erinnern, seine Buchung auch komplett auszuführen
Hat er mit OK bestätigt, ist es erledigt, wenn er das nächste mal
Seine 3 eingibt, dann wieder das gleiche Procedere
Gruß Uwe und Dank im voraus
Anzeige
? kapier ich nicht
21.11.2016 11:47:07
Steffen
Der Code macht doch genau was du willst.
Sobald Du z.b. in G3 oder in G500 eine! 3 einträgst und Enter drückst, kommt die MsgBox mit dem Hinweis.
Oder meinst Du die 3 ist Bestandteil einer Zahlenkombination, also 12345 (hier kommt eine 3 drin vor) bzw. 67890 (hier kommt keine 3 drin vor)?
Anzeige
AW: ? kapier ich nicht
21.11.2016 12:54:54
Uwe
Du hast recht, was du nicht weißt, die 3, und alle anderen 5 (jede 7steĺlig) werden mit Scanner
Eingelesen, der Cursor springt dann sofort in Spalte I (Spalte H ist gesperrt, Ergebnisspalte)
Somit dürfte Excel gar keine Chance haben, msgbox zu starten
Sorry fürs mangelhafte Info und Dank für deine Bemühungen
Anzeige
letzter Versuch :)
21.11.2016 15:18:21
Steffen
jetzt mit einer "3" als Bestandteil einer Zahlenkombi z.b. 12345
wie gehabt: in die betroffene Tabelle rein den Code
Private Sub Worksheet_Change(ByVal Target As Range)
If InStr(Target, "3") And Target.Column = 7 Then
MsgBox "3 vorhanden"
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If InStr(Target, "3") And Target.Column = 7 Then
MsgBox "3 vorhanden"
End If
End Sub

Anzeige
AW: letzter Versuch :)
21.11.2016 22:50:28
Uwe
Hi
natürlich funzt dein erster Vorschlag, weiss nicht, was ich falsch gemacht habe
habe aber noch ein kleines Problem, Mehrdeutiger Name Worksheet_Change
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim FZelle As Range
If Target.Column  6 Or IsEmpty(Target) Then Exit Sub
If Application.CountIf(Range("F6:F1000"), Target) - 0 Then
Beep
If MsgBox("!?!?!?!?!?!?!?!?!?!     S C H O N  S A P  G E M E L D E T?     !?!?!?!?!?!?!? _
!?!?!" & _
vbLf & "", _
vbCritical + vbYes) = vbYes Then
End If
End If
If Target.Column  6 Or IsEmpty(Target) Then Exit Sub
If Application.CountIf(Range("F6:F1000"), Target) - 1 Then
Beep
If MsgBox(" Rückmelde-Nr schon vorhanden!" & _
vbLf & "          Dennoch eintragen?", _
vbCritical + vbYesNo) = vbNo Then
Target.ClearContents
End If
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
'Wert 3 in Spalte G
If Target.Value = 3 And Target.Column = 7 Then
MsgBox "Sie haben eine  3 erfasst.", vbYesNo
End If
End Sub

Hierfür noch eine Lösung, und ich bin dankbar, (Bin ich jetzt schon)
Gruss Uwe
Anzeige
einfach zusammenfassen....
22.11.2016 08:03:24
Steffen
ich weiß zwar nicht, was genau passieren soll; aber du passt Dir das schon an, wie Du es brauchst. Die Prüfungen gehören zusammen unter das Change-Ereignis....
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim FZelle As Range 'wofür ist das?
'hier die Prüfung wegen der 3
If Target.Value = 3 And Target.Column = 7 Then
MsgBox "Sie haben eine  3 erfasst.", vbYesNo
End If
'hier Deine sonstige Prüfung
If Target.Column  6 Or IsEmpty(Target) Then Exit Sub
If Application.CountIf(Range("F6:F1000"), Target) - 0 Then
Beep
If MsgBox("!?!?!?!?!?!?!?!?!?!     S C H O N  S A P  G E M E L D E T?     !?!?!?!?!?!?!?!?!? _
!" & _
vbLf & "", vbCritical + vbYes) = vbYes Then
End If
End If
If Target.Column  6 Or IsEmpty(Target) Then Exit Sub 'das hast du schon oben geprüft :)
If Application.CountIf(Range("F6:F1000"), Target) - 1 Then
Beep
If MsgBox(" Rückmelde-Nr schon vorhanden!" & _
vbLf & "          Dennoch eintragen?", _
vbCritical + vbYesNo) = vbNo Then
Target.ClearContents
End If
End If
End Sub

Anzeige
AW: einfach zusammenfassen....
22.11.2016 09:23:40
Uwe
Nochmals herzlichen Dank, auch für deine Geduld
Funzt prima
Gruß Uwe
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige