Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
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

Arrays mit drei Spalten füllen

Arrays mit drei Spalten füllen
12.10.2015 16:32:39
Albert
Hallo zusammen,
ich hab nachfolgenden Code zum Füllen von einem einfach Array. Das hab ich
jetzt versucht umzubauen, damit es drei Spalten hat. Nun hängts aber aus...
For ix = 0 To UBound(CatchDoubles)
If rngZelle = CatchDoubles(ix, 0, 0) Then
'Name steht schon im Array und wird übersprungen
GoTo Weiter
End If
Next ix
'Array vergrößern
ReDim Preserve CatchDoubles(0 To (UBound(CatchDoubles)), 0, 0) As String
'Informationen
For c = 0 To 2
If c = 0 Then CatchDoubles(UBound(CatchDoubles), UBound(CatchDoubles), c) = .Cells(rngZelle.Row, 13).Value
If c = 1 Then CatchDoubles(UBound(CatchDoubles), UBound(CatchDoubles), c) = .Cells(rngZelle.Row, 5).Value
If c = 2 Then CatchDoubles(UBound(CatchDoubles), UBound(CatchDoubles), c) = .Cells(rngZelle.Row, 16).Value
Next c
Ich hab keine Ahnung wie das funktionieren soll. Hab mir schon bei Mama Google
einige Beispiele angeschaut, aber das sind polnische Dörfer für mich.
Gibt's vielleicht eine Erklärung für Dummies wie mich?
Besten Dank für eure Hilfe und Geduld.
Gruß
A.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arrays mit drei Spalten füllen
12.10.2015 18:33:09
Michael
Hi Albert,
ich habe auch keine Ahnung, wie das funktionieren soll.
Lade uns doch bitte mal ne Beispieldatei hoch.
Nur so viel vorab: die untere Schleife läßt sich durch ein weiteres, kleines Array deutlich vereinfachen:
Dim spalte(2) as long
spalte(0)=13
spalte(1)=5
spalte(2)=16
For c = 0 To 2
CatchDoubles(UBound(CatchDoubles), UBound(CatchDoubles), c) = _
.Cells(rngZelle.Row, spalte(c)).Value
Next c
Insgesamt würde ich aber die ganze Vergleicherei ohne Zugriffe aufs Tabellenblatt lösen:
a) mit einem scripting.dictionary: das ist eine Speicherstruktur, die Doppelte gar nicht erst aufnimmt
Einen kurzen Kurs, den Du mit "VBA gut" in zwei Stunden durchhast, findest Du hier:
http://www.snb-vba.eu/VBA_Dictionary_en.html
b) alle Werte erst einmal in ein Array laden und dort doppelte rauswerfen
Um wieviele Werte geht es denn?
Schöne Grüße,
Michael
Anzeige

112 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige