Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
964to968
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
964to968
964to968
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

array schnell auslesen werte finden wie ??

array schnell auslesen werte finden wie ?
09.04.2008 13:02:00
chris
Hallo VBA Profis,
habe eine frage und hoffe ihr könnt mir helfen.
Habe eine Makro in denm ich ein gefülltes array habe.
Jetzt möchte ich aus diesem Array werte suchen die ich in einer zelle habe.
Wie kann ich am schnellsten einen Wert in einem Array finden ?
Habe es momentan mit 2 schleifen gelöst dauert aber ziemlich lange weil beide schleifen sehr groß sind.
ca. 1500 einträge jeweils.
For i = 0 To UBound(ListArray1)
For ii = 1 To x1 - 2
Vielen dank für euer Hilfe gruß Chris

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: noch offen
09.04.2008 13:20:00
chris
Was soll das ?

AW: array schnell auslesen werte finden wie ?
09.04.2008 13:27:00
Renee
Hi Chris,
Was soll das ? Was denn?
in denm ich ein gefülltes array habe.
Ob ein Array gefüllt ist oder leer, spielt so ziemlich keine Rolle.
Habe es momentan mit 2 schleifen gelöst d
Wieso 2 Schleifen? ist es ein mehrdimensionales Array ?
dauert aber ziemlich lange
Bei 1500 einträgen geht das bei meinem (nicht sehr schnellen) Rechner nicht mal 0.1sec
Ich versteh diese Anfrage nicht!
GrreetZ Renée

AW: array schnell auslesen werte finden wie ?
09.04.2008 13:44:00
chris
Ist auch etwas kompliziert.
Ich möchte lediglich wissen wie ich z.b den wert "test" in einem Array finde.
also position des eintrages.
Kann es nicht besser erklären.

Anzeige
AW: array schnell auslesen werte finden wie ?
09.04.2008 13:52:00
Renee
Hi Chris,
Ich möchte lediglich wissen wie ich z.b den wert "test" in einem Array finde.
Na ja, indem du den Array index by index durchsuchst, bis du ihn gefunden hast.
Also nach Schema F:

For ix = 0 to UBound(MeinArray)
If MeinArray(ix) = "Test" Then
Msgbox "Da is er: " & ix
Exit for
End If
Next ix


GreetZ Renée

AW: array schnell auslesen werte finden wie ?
09.04.2008 14:00:00
chris
danke so habe ich es auch.
das dauert aber sehr lange bei meinen vielen datensätzen.
versuche es noch einmal.
danke schon einmal

AW: array schnell auslesen werte finden wie ?
09.04.2008 14:26:10
Renee
Hi Chris,
versuche es noch einmal.
Du kannst es noch lange versuchen. Es gibt nix anderes. Glaub mir.
Wenn ich einige deiner Codefragmente weiter unten analysiere kann ich dir nur raten:
Besuch einen Programmierungs-Grundlagen-Kurs oder warte bis die ersten Quantencomputer auf dem Markt sind.
GreetZ Renée

Anzeige
AW: array schnell auslesen werte finden wie ?
09.04.2008 16:32:54
chris
? Würd emich wirklich sehr freuen wenn du mir ein paar tipps geben könntest was nicht sooo ok ist.
Auch wenn es nur kleine stichpunkte sind.
An die ich mich beim nächsten mal halten kann.
Wäre wirklich super !
Vielen Dank
P.s ich hatte noch nie einen Kurs.
Danke

AW: array schnell auslesen werte finden wie ?
09.04.2008 14:28:00
Rudi
Hallo,
schneller geht's nicht.
Das geht doch selbst in diesem Bsp. in 0,5 Sekunden:
2 Arrays mit 1500 Elementen, Übereinstimmung erst an der letzten Pos.=2.250.000 Tests

Sub tt()
Dim x As Long, y As Long, arrTest1(1 To 1500), arrTest2(1 To 1500), t
For x = 1 To 1499
arrTest1(x) = "x"
arrTest2(x) = "y"
Next x
t = Timer
arrTest1(1500) = "test"
arrTest2(1500) = "test"
For x = 1 To UBound(arrTest1)
For y = 1 To UBound(arrTest2)
If arrTest1(x) = arrTest2(y) Then
MsgBox x & "/" & y & vbLf & Timer - t
End If
Next
Next
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: array schnell auslesen werte finden wie ?
09.04.2008 16:29:39
chris
Danke Rudi.
Werde ich morgen mal testen.
Vielen Dank

AW: array schnell auslesen werte finden wie ?
09.04.2008 19:41:00
MichaV
Hi Chris,
wenn das Array sortiert ist, kann man die Suche ggf. beschleunigen.
Naja, der Rest wurde ja schon gesagt.
Gruß- Micha
PS: und lass Dich nicht entmutigen. Jede(r) hat mal angefangen, und wenn jede(r) zum Kurs gehen würde, gäbe es dieses Forum nicht.

AW: array schnell auslesen werte finden wie ?
09.04.2008 20:13:25
chris
Danke für dein verständniss:(
Ich weiß halt auch nicht was ich falsch mache.
Wenn so kommentare kommen wie vorhin .. mach nen kurs.
Dann sehe ich ja meine fehler nicht :8
Finde ich schade das er mir das zumindest nicht geschrieben hat.
Danke Dir und schönen Abend !

Anzeige
AW: array schnell auslesen werte finden wie ?
09.04.2008 21:17:17
Daniel
HI
leider können wir deinen Fehler auch nicht sehen, dazu müsstest du schon deine Datei oder zumindest mal einen aussagekräftigen Teil von deinem Code hochladen.
nur einfach so Vermutungen ins Blaue hinein zu machen, ohne Daten und Code zu kennen ist nicht besonders sinnvoll.
Ansonsten ist es tatsächich so, das VBA beim Arbeiten mit Array-Variablen so schnell ist, daß die einfache Schleifenlösung oft die beste ist, oft auch schneller als die fest programmierten Excel-Funktionen wie z.B. FIND (die kann ja im Prinzip auch nichts anderes machen, als alle einzelnen Werte auf Übereinstimmung zu prüfen)
Gruß, Daniel
Anzeige

113 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige