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

ArrAuszug=Range ; 2Dim

ArrAuszug=Range ; 2Dim
09.07.2019 05:03:55
Toni
Hallo Ihr,
Arrays lassen sich in einem Rutsch füllen
so:
Arr() = Range("A1:A25")

Nur Spalte3 eines Arrays so füllen geht nicht, nur über Schleife, oder?

Dim Arr(1 To 25, 1 To 3)
For i = 1 To 25
Arr(i, 3) = Range("A" & i)
Next

Danke, lG
Toni

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

Betreff
Datum
Anwender
Anzeige
AW: ArrAuszug=Range ; 2Dim
09.07.2019 07:59:20
Martin
Hallo Toni,
mit einem kleinen Trick geht es auch ohne Schleife:
    Dim arrCol1(1 To 25), arr()
With Application
arr = .Transpose(Array(arrCol1, arrCol1, .Transpose(Range("A1:A25"))))
End With
Viele Grüße
Martin
AW: ArrAuszug=Range ; 2Dim
09.07.2019 11:35:24
Toni
Hallo Martin,
krass! Mit vielen Tsd. Daten getestet
Schleife: 8,8s
Transpose: 0,46s
Hab vielen Dank!!!
lG
Toni
AW: ArrAuszug=Range ; 2Dim Nachfrage
09.07.2019 15:08:17
Toni
Hallo Martin,
angenommen, das Array ist so dimensioniert:
arrCol1(1 to 100)
... das Range-Objekt bleibt das selbe Range("A1:A25"), soll jedoch Zeile 51-75 des Arrays (Spalte3 bleibt) füllen.
Geht so was auch? (ohne Schleife)
lG
Toni
Anzeige
AW: ArrAuszug=Range ; 2Dim Nachfrage
09.07.2019 15:58:07
Toni
Hallo,
also im Prinzip müsste das ja genauso gehen, ich versuchs dann selbst. Und falls nicht mach ich einen neuen Beitrag auf.
Vielen Dank nochmal!
lG
TOni
AW: ArrAuszug=Range ; 2Dim Nachfrage
09.07.2019 15:58:21
Rudi
Hallo,
>
das Array hat doch gar keine 3 Spalten
Gruß
Rudi
AW: ArrAuszug=Range ; 2Dim Nachfrage
09.07.2019 16:06:05
Rudi
und überhaupt: Was hast du gegegen Schleifen?
das
Sub aaa()
Dim arrCol1(1 To 100), arrTmp
Dim i As Integer
arrTmp = Range("A1:A25")
For i = 1 To UBound(arrTmp)
arrCol1(i + 50) = arrTmp(i, 1)
Next i
End Sub

braucht quasi gar keine Zeit
Gruß
Rudi
AW: ArrAuszug=Range ; 2Dim Nachfrage
09.07.2019 16:34:27
Toni
Hallo Rudi,
bei 650k Daten gab es schon Performance-Unterschiede zwischen Schleife und dem Transpose-Konstrukt von Martin s. weiter oben.
Nichtsdestotrotz geht nat. Schleife immer. Wollte nur abklopfen, was darüber hinaus zeitl. noch möglich ist, da es am Ende um mehrere Spalten gehen wird, die aus untersch. Quellen ins Array gehen und zu allem Unglück auch noch nicht die ganze Spalte sondern auch da nur ein Auszug davon.
Danke für Deinen Post!!
lG
Toni
Anzeige
AW: ArrAuszug=Range ; 2Dim Nachfrage
09.07.2019 16:35:53
Martin
Hallo Toni,
auch hier geht es nur wieder mit einem kleinen Trick ohne Schleife:
    Dim arr As Variant, strTest As String
arr = Application.Transpose(Range("A1:A25"))
strTest = String(50, ",") & Join(arr, ",")
arr = Split(strTest, Chr(44))
Beachte aber, dass die Untergrenze des Arrays jetzt bei 0 beginnt, auch "Option Base 1" würde daran nichts ändern.
Viele Grüße
Martin
...ach sollte ja bis 100 gehen...
09.07.2019 16:40:45
Martin
...dann muss es natürlich so aussehen:
Sub Beispiel()
Dim arr As Variant, strTest As String
arr = Application.Transpose(Range("A1:A25"))
strTest = String(50, ",") & Join(arr, ",") & String(25, ",")
arr = Split(strTest, ",")
End Sub

Anzeige
AW: ...ach sollte ja bis 100 gehen...
09.07.2019 16:48:21
Toni
Hallo Martin,
das ist ja mal um die Ecke gedacht, habe es glaube ich soweit verstanden und versuche es entsprechend einzusetzen in Deine erste Lösung und hoffe, dass mir die Datentypen nicht quer laufen später.
Es gab in jedem Fall einiges Neues zu lernen heute, dafür möchte ich mich ausdrücklich bedanken!!, zumal man diese Art Tipps in keinem Lehrbuch findet (ich zumindest bislang nicht).
Tsd. Dank und einen tollen Abend Dir!
lG
Toni
AW: ...ach sollte ja bis 100 gehen...
09.07.2019 16:57:55
Martin
Hallo Toni,
das macht den Reiz für mich aus, wenn unkonventionelle Anforderungen unkonventionelle Lösungen erfordern. Ich danke dir für dein Feedback und wünsche dir ebenfalls noch einen schönen Abend!
Viele Grüße
Martin
Anzeige
Danke! (und: Test hat geklappt!!) owT
09.07.2019 17:01:56
Toni

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige