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

Forumthread: Array durchsuchen

Array durchsuchen
30.05.2005 11:41:47
MikeS
Hallo,
ich suche nach einer Möglichkeit (ohne Schleife), ein eindimensionales Array nach einem Wert zu durchsuchen (ähnlich der Find-Methode bei Zellbereichen).
Mein Codeauszug:
'Arrays neu dimensionieren
ReDim arrQuelle(c_lngStartzeile To lngEndzeile)
ReDim arrZiel(c_lngStartzeile To lngEndzeile2)
'wsQuelle ist mein Quellblatt (arrQuelle)
'wsZiel ist mein Zielblatt (arrZiel)
'in beiden Arrays werden eindeutige Schlüssel, der beiden Tabellen,
'bestehend aus Bel+Pos (z.B. "100/1") eingelesen.
With wsQuelle
For lngAktZeile = c_lngStartzeile To lngEndzeile
arrQuelle(lngAktZeile) = .Cells(lngAktZeile, c_ColBel) & "/" & .Cells(lngAktZeile, c_ColPos)
Next lngAktZeile
End With
With wsZiel
For lngAktZeile = c_lngStartzeile To lngEndzeile2
arrZiel(lngAktZeile) = .Cells(lngAktZeile, c_ColBel) & "/" & .Cells(lngAktZeile, c_ColPos)
Next lngAktZeile
End With
'Nun möchte ich jeden Wert des arrQuelle im arrZiel suchen
'So, wie nachfolgend, klappts natürlich nicht
For lngAktZeile = c_lngStartzeile To lngEndzeile
Suchwert = arrQuelle(lngAktZeile)
lngFundzeile = Application.Match(Suchwert, arrZiel, 0)
If lngFundzeile &gt 0 Then
'tu dies
Else
'tu das
End If
lngFundzeile = 0
Next lngAktZeile
Vielleicht weiß jemand Rat, oder muß ich mein arrZiel auch mittels Schleife
nach dem Suchwert aus arrQuelle durchlaufen?
Vielen Dank
MikeS

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array durchsuchen
30.05.2005 11:53:47
Fred
Hi, deine Idee ist schon richtig. Match liefert einen Fehler, wenn nichts gefunden eird, den musst du noch abfangen.
mfg Fred
AW: Array durchsuchen
30.05.2005 11:58:21
MikeS
Hallo Fred,
meine Suchmethode würde doch ein Range-Objekt zurüchgeben und deshalb kann ich sie nicht verwenden!?
Danke MikeS
AW: Array durchsuchen
30.05.2005 12:00:26
Fred
Hi, match liedert die Zeile, keinen Range.
mfg Fred
Anzeige
AW: Array durchsuchen
30.05.2005 13:08:39
MikeS
Hallo Fred,
wenn ich es nachfolgend ablaufen lasse, finde ich nie einen Wert im arrZiel,
obwohl definitiv Werte gefunden werden müßten!
For lngAktZeile = c_lngStartzeile To lngEndzeile
Suchwert = arrQuelle(lngAktZeile)
lngFundzeile = Application.WorksheetFunction.Match(Suchwert, arrZiel)
If lngFundzeile &gt 0 Then
MsgBox lngFundzeile
Else
MsgBox "nicht gefunden"
End If
lngFundzeile = 0
Next lngAktZeile
Ciao Mike
Anzeige
AW: Array durchsuchen
30.05.2005 11:57:16
Galenzo
Worksheetfunctions.Match(Suchwert, arrZiel)
Viel Erfolg!
AW: Array durchsuchen
01.06.2005 13:22:26
Galenzo
.Match
.Find
(Groß-Kleinschreibung)
AW: Array durchsuchen
02.06.2005 07:54:39
MikeS
danke euch beiden, aber es handelt sich um keinen zellbereich, den ich so an mein array übergebe "meinArray = [A1:A500].
ich fülle meine array mittels schleife und suche die werte im array nun auch über eine schleife, da .Find und .Match nur bei einem zellbereich eingesetzt werden kann.
CODING:
'Array mit eindeutigem Schlüssel füllen
...
With wsZiel
For lRow = LBound(arrZiel) To UBound(arrZiel)
arrZiel(lRow) = .Cells(lRow, c_intColBel) & "/" & .Cells(lRow, c_intColPos)
Application.StatusBar = "Tab." & wsZiel.Name & "_Schlüsselfeld erstellt;" & _
lRow & " von " & p_lngEndzeile2 & "..."
Next lRow
End With
...
'Array durchsuchen
...
lMerkzahl = LBound(arrQuelle)
lMerkzahl2 = LBound(arrQuelle2)

For lngZeile = c_lngStartzeile To p_lngEndzeile2
'Prüfen ob Suchwert in Quelltabelle vorhanden ist
Suchwert = arrZiel(lngZeile)
lRow = 0
Bel_Pos_gefunden = False

For lRow = lMerkzahl To UBound(arrQuelle)
If arrQuelle(lRow) = Suchwert Then
'Suchwert wurde gefunden
Bel_Pos_gefunden = True
'neuer Start (Laufzeitoptimierung)
lMerkzahl = lRow
Exit For
End If
Next lRow
...
danke euch trotzdem. lg mikeS
Anzeige
;

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
Anzeige

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