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.

Angleichen zweier Data Sets
#1
Hallo zusammen, 

hänge aktuell an einem ziemlich nervigen Problem: 

Ich habe zwei Datasets in Excel mit entsprechenden Abfragen. In VBA ziehe ich aus beiden Sets Informationen auf Basis des Namens. Das Problem ist, dass bei dem einen Set nahezu nur Nachnamen (bei redundanten Nachnamen wird der erste Buchstabe des Vornamen mit einem Punkt vorgestellt) und beim anderen Vor- und Nachname. Da die Namen über ein Makro gesucht werden sollen, muss ich sinnvollerweise das Data Set mit nur Nachnamen dem anderen angleichen. Ist das nur manuell möglich? Bin da nicht so scharf drauf weil das über 500 Datensätze sind. Oder gibt es da eine andere Möglichkeit?

Vielen Dank für die Hilfe!
Antworten Top
#2
Hallo,

bei der Find-Methode gibt es die Möglichkeit, nach Teilstrings zu suchen. (LookAt:= xlPart)
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hallo GoFlake,

das angleichen der Datensätze würde ich manuell machen.
Über eine Wenn-Formel checken, ob rechts ein Punkt steht, wenn ja, diesen löschen.
Dann ein "*" an den Text hängen.
Jetzt kannst Du per SVerweis deine Daten abgleichen.

Gruß,
Lutz
Antworten Top
#4
Hallo,

da deine Beschreibung, was ausgabeseitig passieren soll unklar ist, habe ich die Ausgaben in eine Messagebox gepackt.

Code:
Option Explicit

Sub PassendeNamenFinden()
    Dim i As Long, j As Long, arrKurzName(), VarLangName$, VarKurzName$
    arrKurzName = Tabelle1.Range("A1:A" & Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row).Value
   
    With Tabelle2
        For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
            For j = 1 To UBound(arrKurzName, 1)
                VarLangName = .Cells(i, 1)
                VarKurzName = arrKurzName(j, 1)

                If Mid(VarKurzName, 3, 1) = " " Then
                    If Left(VarLangName, 1) & ". " & Right(VarLangName, Len(VarLangName) - InStrRev(VarLangName, " ")) = VarKurzName Then
                        MsgBox Left(VarLangName, 1) & ". " & Right(VarLangName, Len(VarLangName) - InStrRev(VarLangName, " ")) & " und " & VarKurzName & " in Zeile " & j & " sind passend"
                    End If
                Else
                    If Right(VarLangName, Len(VarLangName) - InStrRev(VarLangName, " ")) = VarKurzName Then
                        MsgBox Right(VarLangName, Len(VarLangName) - InStrRev(VarLangName, " ")) & " und " & VarKurzName & " in Zeile " & j & " sind passend"
                    End If
                End If
               
            Next j
        Next i
    End With
End Sub

Es werden in 2 Schleifen mit jeweils 2 Abfragen alle Nachnamen abgefragt und differenziert, ob das 3. Zeichen im String ein Leerzeichen ist. Man könnte auch den Punkt als 2. Zeichen verwenden.
Teste mal ob es so für deine Zwecke schon passt. Besser ist es eine Beispieldatei hochzuladen. Damit man den Code nicht für die Katz schreibt.
Anbei noch die fiktive Namensliste mit dem Code zum Testen.

Gruß Uwe


Angehängte Dateien
.xlsm   Namensabgleich.xlsm (Größe: 18 KB / Downloads: 1)
Antworten Top
#5
Hallo,

da hatte ich noch einen deftigen Denkfehler drin. So sollte es funktionieren unter der Bedingung, dass bei Mehrfachnamen der gleiche Anfangsbuchstabe und Punkt des Vornamens nicht mehrfach trotz unterschiedlichen Vornamen vorkommt. Also saubere eindeutige Kürzel der Vornamen.
Teste mal.

.xlsm   Namensabgleich.xlsm (Größe: 18,8 KB / Downloads: 1)

Gruß Uwe
Antworten Top


Gehe zu:


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