Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Worksheet.Match funktioniert nicht wie gewünscht

Forumthread: Worksheet.Match funktioniert nicht wie gewünscht

Worksheet.Match funktioniert nicht wie gewünscht
04.08.2015 15:57:55
Uppe
Hallo Experten,
ich bin ratlos.
Ich habe eine Excelliste, in der in Spalte B alphabetisch sortierte Namen stehen (die verschiedenen Anfangsbuchstaben sind durch Leerzeichen getrennt)
Adam
Anton
Berta
Bruno
Charlie
...
In einer weiteren Liste stehen unsortierte Namen, die in die erste Liste eingefügt werden sollen.
Ich habe dazu ein kleines Programm geschrieben.
Zuerst wird geschaut, ob der Wert evtl. schon drin steht:
lZeile = WorksheetFunction.Match(ThisWorkbook.Worksheets(1).Range("A" & i).Value, wksNamenListe.Range("B:B"), 0))
Das funktioniert. Wenn der Wert nicht gefunden wird, soll nach dem nächstkleineren Wert gesucht werden :
lZeile = WorksheetFunction.Match(ThisWorkbook.Worksheets(1).Range("A" & i).Value, wksNamenListe.Range("B:B"), 1)
Das funktioniert leider nicht. Mir wird immer irgendeine der Leerzeile ausgegeben, egal mit welchem Wert ich teste (auch z.B. mit Agate oder Birgit).
Wo ist mein Denkfehler?
Gruß Uppe

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dein Denkfehler ist..
04.08.2015 18:14:47
Daniel
Hi
eine Liste, die mit Leerzeilen unterteilt ist, ist nicht sortiert.
eine sortierte Liste enthält keine Leerzeilen, weil Leerzeilen beim sortieren ans Listenende wandern.
Gruß Daniel

Deine Darstellung ist derart missverständlich, ...
05.08.2015 04:27:36
Luc:-?
…Uppe,
dass man sie sowohl so wie offenbar Daniel als auch noch ganz anders interpretieren kann. Also wirst du wohl nicht umhin kommen, eine kleine BspDatei hier einzustellen.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
Fehlende Werte in Bestehende Liste einf.
05.08.2015 09:19:40
Daniel
Hi
dein Vorhaben sollte so relativ einfach gelingen:
1. kopiere alle Namen von der "weiteren" Liste unter die Namen der "sortierten" Liste
2. Wende auf die ganze Spalte in der "sortierten" Liste nacheinander die Funktionen an:
- DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN
- DATEN - SORTIEREN
damit sind aber deine Zwischen-Leerzeilen verschwunden.
um die wiederherzustellen kannst du folgendes machen:
1. in Spalte C der "sortierten" Liste den Anfangsbuchstabgen extrahieren mit: =Links(B1;1)
2. die Spalte C kopieren und am unteren Ende nochmal anfügen
3. im neu angefügten Zellbereich das Duplikate-entfernen ausführen
4. die gesamte Tabelle nach Spalte C sortieren
sieht als Code dann so aus:
ThisWorkbook.Worsheets(1).Columns(1).SpecialCells(xlcelltypeconstants, 2).Copy
With wksNamenListe
.Activate
'--- Namen einfügen, Duplikate Entfernen und Sortieren
.Cells(.Rows.count, 2).End(xlup).offset(1, 0).PasteSpecial xlpasteall
.columns(2).RemoveDuplicates 1, xlno
.Columns(2).Sort Key1:=.cells(1, 2), order1:=xlascending, Header:=xlguess
'--- Leerzeilen zwischen Anfangsbuchstabengruppen hinzufügen
with .Cells(.Rows.count, 2).end(xlup)
with range(.Offset(1 - .Row, 1), .offset(0, -1))
.FormulaR1C1 = "=Left(RC2,1)"
.Copy
End with
.Offset(1, 1).PasteSpecial xlpastevalues
Selection.Removeduplicates 1, xlno
End with
.Range("B:C").Sort Key1:=.Cells(1, 3), order1:=xlascending, Header:=xlguess
.Columns(3).ClearContents
End with
Gruß Daniel
ps. nicht getestet, da ich deine Datei nicht nachbaue

Anzeige
Danke!
05.08.2015 13:10:20
Uppe
Vielen Dank für eure Hinweise. Mir war nicht bewusst, dass MATCH Probleme mit den Leerzeilen hat.
Ich habe es jetzt so geschrieben: Leerzeilen entfernen, MATCH, Leerzeilen einfügen
Gruß Uppe
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige