6.2k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

habe folgenden Code, der mir für jeden passenden Namen+Vornamen aus einem anderen Tabellenblatt eine diesem Namenpaar entsprechende Nr. zuordnen soll.
Klapp soweit, bis auf die Datensätze, wo der Namen mehrfach zu verschiedenen Vornamen vorkommt. Hier wird eine falsche Nr. zugewiesen. Ich habe Inder Testdatei solch einen Fehler zur besseren Verdeutlichung einmal farbig markiert.
Wir kann ich den bestehenden Code modifizieren, damit die Zuordnung eindeutig wird?
Sub DatAkt()
'
' Übernahme der M-Nr

Sheets("M-Nr").Select

Dim rng As Range, rng1 As Range
Dim iRow As Integer
iRow = 2
Do Until IsEmpty(Cells(iRow, 1))


Set rng = Sheets("Daten").Columns(1).Find( _
what:=Cells(iRow, 3), lookat:=xlWhole, LookIn:=xlValues)
Set rng1 = Sheets("Daten").Columns(2).Find( _
what:=Cells(iRow, 4), lookat:=xlWhole, LookIn:=xlValues)


If Not rng Is Nothing And Not rng1 Is Nothing Then
Range(rng.Offset(0, 4), rng.Offset(0, 4)).Value = _
Cells(iRow, 1).Value


End If
Sheets("M-Nr").Select
iRow = iRow + 1
Loop

End Sub


http://www.file-upload.net/download-8799247/TestZuordnung.xlsm.html

Gruß
Andreas

22 Antworten

0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,

am liebsten wäre mir eine Lösung, bei der aus dem Code
....
Set rng = Sheets("Daten").Columns(1).Find( _
what:=Cells(iRow, 3), lookat:=xlWhole, LookIn:=xlValues)
Set rng1 = Sheets("Daten").Columns(2).Find( _
what:=Cells(iRow, 4), lookat:=xlWhole, LookIn:=xlValues)
.....
nur ein Befehl mit Verknüpfung der beiden Abfragen entstehen würde. Ich denke hier liegt auch der logische Fehler begründet.
Gruß
Andreas
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Andres,
beim dounload deiner Datei wird immer eine (exe) angezeigt.

Gruß
fedjo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Sorry, ich hatte die Datei mit Makro geladen...

hier als reine Excel:
http://www.file-upload.net/download-8799857/TestZuordnung1.xlsx.html

Ich habe zwischenzeitlich ein bißchen probiert und aus Namen und Vornamen nur ein Feld gemacht. Dami ist die Zuordnung eindeutig, aber so will ich es eigentlich nicht - Namen und Vornamen stehen in benachbarten Spalten.
Gruß
Andreas
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Andres,
beim dounload hat sich nichts geändert.

Gruß
fedjo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,

keine Ahnuung warum die Datei immer als .exe angekommen ist. Habe sie jetzt noch mal komplett neu erstellt. Wäre schön, wenn jemand einen Tipp hätte.
http://www.file-upload.net/download-8801783/Mappe1.xlsx.html
Andreas
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Andreas,

deine Mappe enthält Schadsoftware - das zeigt mir mein Virenprogramm beim Downloadversuch an.

Bis später,
Karin
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

ergänze die if abfrage mit folgenden code

and rng.row=rng1.row


gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi andi ^^

noch eine kurz erklaerung dazu

gesucht wird hans mueller
marie mueller gefunden mueller zeile 5
hans mustermann gefunden hans zeile 3

failed

daher der vergleich der zeilen mit der objektvar rng.row und rng1.row

gruss nighty
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo nighty,

habe das mal ausprobiert. Allerdings hatte ich einen Fehler als ich die zusätzliche Bedingung mit and ergänzt habe
If Not rng Is Nothing And Not rng1 Is Nothing And rng.row=rng1.row Then....

Ich habe das dann als zusätzliche "IF"-Bedingung wie folgt eingebaut
If Not rng Is Nothing And Not rng1 Is Nothing Then
If rng.Row = rng1.Row Then
Range(rng.Offset(0, 4), rng.Offset(0, 4)).Value = _
Cells(iRow, 1).Value

End If
End If
...
Die Fehlzuordnungen sind zwar jetzt verschwunden, dafür habe ich aber keine Einträge der Nr. bei mehrfach vorkommenden Nachnamen?

P.S. Ich habe die Testdatei selbst noch einmal hochgeladen, dabei hat mein NortonSecirity grünes Licht gegeben..?? Gibt es denn eine Möglichkeit die Dateistruktur direkt im Forum anzeigen zu lassen?
Gruß
Andreas
...