Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel Doppelte Werte in Popup anzeigen
#1
Hallo zusammen,

ich hab ein Anliegen, was ich selber nicht gelöst bekomme.

Ich muss in der ersten Spalte fortlaufend immer Zahlen eintragen. Diese dürfen sich nicht wiederholen, sollte ich aber versuchen, eine schon vorhandene Nummer einzutragen, soll ein Popup Fenster erscheinen, welches mir sagt, dass diese Nummer schon in Zeile x vorhanden ist.

Ich habe durch die Datenüberprüfung schon geschafft, dass man keine Doppelten Werte eintragen kann und eine PopUp Meldung kann ich auch dadurch anzeigen lassen. Jedoch würde ich gerne in dieser Meldung noch die Zeile stehen haben, in der der Wert schon vorhanden ist.

Kann mir dabei jemand helfen??

Danke & LG
l4w
Antwortento top
#2
Edit: falsch gelesen.
Schöne Grüße
Berni
Antwortento top
#3
Hi,

mit VBA geht das z.B. so:

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim MyBereich As Range
    Dim Zeile
   
    If Not Intersect(Range("A:A"), Target) Is Nothing And Target.Count = 1 Then
        Set MyBereich = Range(Range("A2"), Cells(Rows.Count, 1).End(xlUp))
        Zeile = Application.Match(Target, ActiveSheet.Columns(1), 0)
        If Zeile <> Target.Row Then
            MsgBox "Eintrag schon in Zeile " & Zeile & " vorhanden!"
        End If
    End If
   
End Sub

Binde das in den VBA-Code-Bereich deiner Tabelle ein.
Bechte: Wie und wo fügt man ein Makro bzw. Code ein?
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
[-] Folgende(r) 1 Benutzer sagt Danke an LuckyJoe für diesen Beitrag:
  • l4w
Antwortento top
#4
Hallo zusammen,

vielen Dank für die geniale Lösung, LuckyJoe.

Funktioniert so weit sehr gut, wie ich es gebraucht habe.

Nun kommt leider folgende Meldung, wenn der Wert doppelt eingetippt wurde und dann manuell aus der Zeile gelöscht wird.

Laufzeitfehler '13':
Typen unverträglich


Dann kann man auch Beenden oder auf Debuggen klicken.

Wenn man auf Debuggen klickt, wird folgende Zeile gelb markiert:

If Zeile <> Target.Row Then


Nochmals vielen Dank an dieser Stelle und liebste Grüße
Antwortento top
#5
Hi,

du hast Recht, hier die angepasste Version:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim MyBereich As Range
    Dim Zeile
   
    If Not Intersect(Range("A:A"), Target) Is Nothing And Target.Count = 1 Then
        Set MyBereich = Range(Range("A2"), Cells(Rows.Count, 1).End(xlUp))
        Zeile = Application.Match(Target, ActiveSheet.Columns(1), 0)
        If Not IsEmpty(Target) Then
            If Zeile <> Target.Row Then
                MsgBox "Eintrag schon in Zeile " & Zeile & " vorhanden!"
            End If
        End If
    End If
   
End Sub
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste