Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1132to1136
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Application.Match nur für eindimensionale Arrays?

Application.Match nur für eindimensionale Arrays?
Martin
Hallo,
mit "Application.Match(Suchwert,Array,0)" kann sehr schnell der Trefferindex in einem eindimensionalen Array ermittelt werden. Besteht die Möglichkeit "Application.Match(Suchwert,Array,0)" auch bei einem zweidimensionales Array (unter Angabe der zu durchsuchenden Dimension) anzuwenden?
Da das nur eine Frage aus persönlichem Interesse ist, brauche ich keine Alternativvorschläge. Für Antworten bin ich - wie immer - sehr dankbar!
Viele Grüße
Martin
geht nicht owT
02.02.2010 12:34:03
Rudi
Schade! Aber vielen Dank für die schnelle Antwort!
02.02.2010 12:36:20
Martin
s.o.
Im Prinzip hat Rudi recht, aber es gibt...
02.02.2010 13:20:47
Luc:-?
...einen Trick, Martin,
du musst ein 1dimensionales aus dem 2dimensionalen Feld machen, indem du es zeilen(- bzw spalten-)weise mit geeigneten Trennzeichen zusammenfasst und dann beim Suchbegriff mit Jokerzeichen * arbeitest, wenn das möglich ist.
Gruß Luc :-?
dann kann man ja gleich ...
02.02.2010 13:23:11
Rudi
...mit ner Schleife suchen. Was übrigens zeitlich unkritisch ist.
Gruß
Rudi
Für VBA ist das ja auch wirklich irrelevant,...
02.02.2010 13:28:22
Luc:-?
...Rudi,
aber um so interessanter für Formel-Puristen... ;-)
Gruß Luc :-?
In einer Formel ...
02.02.2010 13:43:16
Rudi
... arbeitet man nicht wirklich oft mit Application.Match, Luc.
Gruß
Rudi
Warum so bierernst? Ich arbeite NIE mit...
02.02.2010 14:08:23
Luc:-?
...Application.Match, Rudi,
stets mit WorksheetFunction.Match und in solchen Fällen meist mit PgmZyklen. Meine Antwort zielte auch über den VBA-Tellerrand hinaus, womit ich dir nicht unterstellen wollte, du würdest diese FmlLösung nicht kennen! Du musst mir aber nicht unterstellen wollen, ich hätte an der Aufgabenstellung vorbei geantwortet (kann mir auch mal passieren!)... Ob das Ganze auch unter VBA Sinn machen könnte, hängt ja letztendlich von der Datenmenge und der Schnelligkeit der jeweiligen xlRoutinen ab...
Für VBA gäbe es natürlich noch einen anderen Weg, aus einem 2dimensionalen ein 1dimensionales Feld zu machen...
Gruß Luc :-?
Anzeige
AW: Warum so bierernst? Ich arbeite NIE mit...
02.02.2010 14:53:37
Rudi
Hallo,
das sollte keine Kritik an dir sein.
Application.Match: Da sind wir genau unterschiedlich gepolt. Ich arbeite nie mit Worksheetfunction.Match, da dies bei Fehler einen Laufzeitfehler verursacht, hingegen Application.Match einen Fehlerwert zurück gibt.
Für VBA gäbe es natürlich noch einen anderen Weg, aus einem 2dimensionalen ein 1dimensionales Feld zu machen...

Du machst mich neugierig.
Gruß
Rudi
AW: Warum so bierernst? Ich arbeite NIE mit...
02.02.2010 15:33:45
wsp
WorksheetFunction.Match macht unter VBA folgenden Sinn :
in einer Funktion, die in einer Zellformel aufgerufen wird, gibt WorksheetFunction.Match eine brauchbare
Information - dagegen versagt irgendeinrange.cells.find ( What:= ... ) in diesem Kontext.
WSP
Anzeige
Siehste, und da ich fast nur udF für genau...
02.02.2010 19:15:44
Luc:-?
...diesen Einsatzzweck schreibe, WaSP,
habe ich Rudis Problem nicht, aber viell eher eines, wenn ich's anders machen würde... ;-)
Gruß Luc :-?
Ach, das ist nichts Besonderes,...
02.02.2010 19:36:59
Luc:-?
...Rudi... ;-)
Ich habe da so 'ne udF, die macht das eigentlich nur deshalb, weil ich damals zu faul war, mir die Mühe zu machen, die Elemente eines 2dimensionalen Feldes richtig anzuordnen. Da gibt's ja so Durchlauf­reihenfolge­unterschiede zwischen Xl u. VB — war mir damals zu viel, das auch noch zu berücksichtigen... (Nebenbei, die udF liefert einen Wertevektor in Form einer Matrixkonstanten → Einsatz in AUSWERTEN möglich.)
Interessanter finde ich die Möglichkeit, ein Feld aus 2 und mehr Vektoren paarig (und mehr) mit der Laufvariablen in For Each p In... durchlaufen zu können. Damit könnte man dann diese Paare (Gruppen) auch zusammenfassen (sogar mit Index): x(p(0)) = p(1) & ";" & p(2) & ";" p(3)...
Gruß Luc :-?
PS: Hatte nur 'nen Smilie vermisst; wäre deutlicher gewesen...
Anzeige
Danke, das ist eine interessante Lösung!
02.02.2010 13:24:01
Martin
s.o.
AW: Application.Match nur für eindimensionale Arrays?
02.02.2010 15:56:08
Beverly
Hi Martin,
meinst du so etwas:
Sub ArryAuslesen()
Dim arrDaten() As Variant
arrDaten = Array(Array("A", "B", "C", "D", "E"), Array(100, 200, 300, 400, 500))
MsgBox Application.Match("B", arrDaten(0), 0)
MsgBox Application.Match(500, arrDaten(1), 0)
End Sub



83 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige