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
Top
#2
Edit: falsch gelesen.
Schöne Grüße
Berni
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 Nutzer sagt Danke an LuckyJoe für diesen Beitrag:
  • l4w
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
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]
Top


Gehe zu:


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