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

Range in Array laden

Range in Array laden
Gordon
Moin moin,
mal eine Frage zu den Arrays. Wenn man ein Array hat das z.B. so aussieht: arrTest(1,2)
Kann man irgendwie gleich eine ganze Range z.B. (A1:C1) dort komplett auf einmal reinladen? Oder muss man das dann doch mit einer Schlaife machen. Also erst A1 in arrTest(0,0), B1 in arrTest(0,1) und C1 in arrText(0,2)?
Danke schon mal für die Antwort?
Gruß
Gordon

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Range in Array laden
17.01.2011 10:30:36
hary
Hallo Gordon

Sub eineSpalte()
Dim myarray As Variant
myarray = Range("A1:A6")
MsgBox myarray(1, 1) 'aus Spalte A
End Sub
Sub zweiSpaltenb()
Dim myarray As Variant
myarray = Range("A1:B6")
MsgBox myarray(1, 1) 'aus Spalte A
MsgBox myarray(1, 1) 'aus Spalte B
End Sub

meinst Du das?
gruss hary
Korrektur
17.01.2011 10:40:31
hary
Hallo Gordon
Fehler eingeschlichen.
muss heissen:

myarray(1, 2) 'aus SpalteB
oder so gehts auch.

Sub Zeile()
Dim myarray As Variant
myarray = Range("A1:C1")
myarray = WorksheetFunction.Transpose(myarray)
MsgBox myarray(3, 1) 'nur die erste Zahl aendern
End Sub

gruss hary
Anzeige
AW: Korrektur
17.01.2011 10:58:38
Gordon
Hmm..blicke ich leider noch nicht so 100%ig durch. Mir stellen sich da noch zwei Fragen:
a)
Was bedeutet dieses Transpose genau?
und b)
Wie mache ich das, wenn ich in ein mehrdimensionales Array die Ranges schreiben will? (Also in Zeile 0 des Arrays A1:C1, in Zeile 1 A2:C2,....usw...)
Danke aber schon mal für die Hilfe....
AW:so?
17.01.2011 11:10:31
hary
Hallo Gordon
Teste mal in einer leeren Mappe.
Befuelle A1 bis C6, dann Makro.

Sub dreiSpalten()
Dim myarray As Variant
myarray = Range("A1:C6")
MsgBox myarray(1, 1) 'aus Spalte A Zeile 1
MsgBox myarray(2, 2) 'aus Spalte B  Zeile 1
MsgBox myarray(3, 3) 'aus Spalte C  Zeile 3
End Sub

mit Transpose machst Du aus 3 Spalten im array eine.
gruss hary
Anzeige
AW: AW:so?
17.01.2011 11:15:04
Gordon
Sorry,
hab mich da wohl unvollständig ausgedrückt. Die Ranges aus Excel werden aus einer Schleife einzeln gelanden. Also mal A1:C1, dann kommt aber vielleicht erst A5:C5...usw.....daher kann ich es nicht als ganzen Block wie in deinem Beispiel reinladen. Da liegt bei mir das Problem....
was hast Du vor?
17.01.2011 14:34:28
Tino
Hallo,
beschreibe doch mal was Du vor hast.
Gruß Tino
AW: was hast Du vor?
17.01.2011 14:43:57
Gordon
Habe eine Liste mit 500 Einträgen....diese sind nach Rubriken geordnet und ich darf diese Liste nicht verändern. Jeder Eintrag hat verschiedene Daten ...u.a. ein Datum. Nun sollen diese ganzen Einträge in externe Listen übertragen werden. Diese Externen sind nach Monaten aufgeteilt.
Nun möchte ich halte die Liste mit den 500 Einträgen einmal abgrasen und alle Einträge in zwölf Arrays übertragen - sprich in die zwölf Monate - und dann auf die externen Listen verteilen.
Das habe ich vor (....in den externen Listen wird dann weiterverarbeitet).
Anzeige
AW: was hast Du vor?
17.01.2011 15:49:24
Tino
Hallo,
wenn ich Dich richtig verstanden habe könnte es so gehen.
Hier mal ein Beispiel, Deine Aufbau kenne ich nicht und kann daher nur dies zeigen.
https://www.herber.de/bbs/user/73107.xls
Warum dies aber mit Array gamacht werden muss verstehe ich noch nicht so ganz.
Evtl. würde ich in richtung Spezialfilter mal nach einer Lösung suchen.
Gruß Tino

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige