Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Duplikat suche bei Userform Eintrag

Betrifft: Duplikat suche bei Userform Eintrag von: Kösler
Geschrieben am: 27.04.2015 11:59:15

Hallo Zusammen ich habe eine If abfrage mit zwei kriterien um nach duplikaten in einer Datenbank zu suchen, einzel ( also entwerder Vorname oder Nachname) funktioniert diese auch.
Gemeinsam also beides geht dies leider nicht mehr.
Bitte um Hilfe.

' Überprüfung ob Kunde bereits vorhanden!

Dim WkSh As Worksheet
Dim rZelle As Range

Set WkSh = ThisWorkbook.Worksheets("Kundendaten")

If (Me.txtName.Value) & (Me.txtVorname) <> "" Then
With WkSh.Columns("B:C")
Set rZelle = .Find(Me.txtName.Value & Me.txtVorname.Value, LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then

frmAchtung.Show
GoTo LastLine
End If
End With
Else

End If

  

Betrifft: AW: Duplikat suche bei Userform Eintrag von: Daniel
Geschrieben am: 27.04.2015 12:25:43

Hi

um zu überprüfen, ob in der Liste ein solcher Eintrag existiert, kannt du besser Worksheetfunction.countIfs verwenden:

if Worksheetfunction.CountIfs(wksh.columns(2), me.txtName, wksh.Columns(3), me.txtVorname) = 0 
Then
    Msgbox "Kombination ist in Liste nicht vorhanden
Else
    Msgbox "Kombination in Liste vorhanden
end if

.FIND dursucht immer nur eine Zelle, aber keine Kombinationen von Zellen.
dein Konstrukt durchsucht die Spalten B und C und findet einen Treffer in einer Zelle der beiden Spalten die Zeichenfolge "NachameVorname" steht, das wird aber nie der Fall sein, weil du Nachname und Vorname in zwei Spalten aufgetrennt hast.

wenn du mit .Find arbeiten willst, solltet du in einer Hilfsspalte Nach- und Vorname per Formel zu einem Wort zusammenfassen und ann in dieser Hilfsspalte suchen.

Gruß Daniel


  

Betrifft: AW: Duplikat suche bei Userform Eintrag von: Kösler
Geschrieben am: 27.04.2015 12:56:49

Hi Daniel,

danke für deine schnelle Antwort.

Ich hab leider keine Ahnung wie die Programmierung zu ändern ist um das hinzubekommen.
als VBA Neuling bräuchte ich bitte weiter Hilfe

Gruß Chris


  

Betrifft: AW: Duplikat suche bei Userform Eintrag von: Daniel
Geschrieben am: 27.04.2015 13:02:04

Hi
ich auch nicht.
weil ich weder deine Datei, noch deine Aufgabenstellung kenne.
Versuche zu verstehen, was da passiert (ist ja nicht so schwer, ist im Prinzp die Funktion ZählenWenns in VBA angewendet) und baue es dann ein (was bisher in deinem Code passiert, solltest du ja sowieso verstehen).

Gruß Daniel


  

Betrifft: AW: Duplikat suche bei Userform Eintrag von: Rudi Maintaire
Geschrieben am: 27.04.2015 13:02:57

Hallo,
meine Version:

  Dim WkSh As Worksheet
  Dim vArr, i As Long
  
  Set WkSh = ThisWorkbook.Worksheets("Kundendaten")
  
  If (Me.txtName.Value) & (Me.txtVorname) <> "" Then
    With WkSh
      vArr = .Range(.Cells(1, 2), .Cells(.Rows.Count, 2).End(xlUp)).Resize(, 2)
      For i = 1 To UBound(vArr)
        If vArr(i, 1) & vArr(i, 2) = Me.txtName & Me.txtVorname Then
          frmAchtung.Show
          GoTo LastLine
        End If
      Next i
    End With
  End If
Mit GoTo würde ich nicht arbeiten.

Gruß
Rudi


  

Betrifft: AW: Duplikat suche bei Userform Eintrag von: Kösler
Geschrieben am: 27.04.2015 13:25:20

Hallo Rudi,

Danke für deine Hilfe nun klappt es.

Gruß Chris


 

Beiträge aus den Excel-Beispielen zum Thema "Duplikat suche bei Userform Eintrag"