Das eingelesene Array namens werte:
Code: Alles auswählen
myRange=odoc.sheets(2).getCellRangeByPosition(0,1,4,100)
werte = myRange.getDataArray()
ist einfach eine 'Kopie' der Werte des Zellbereichs, es gilt:
Code: Alles auswählen
myRange=odoc.sheets(2).getCellRangeByPosition(0,1,4,100)
der Zellbereich myRange ist festgelegt durch 2 Zellen und zwar die Zelle links-oben und die Zelle rechts-unten.
Hier im Konkreten also die Zelle mit dem Spaltenindex 0 und Zeilenindex 1, entspricht Zelle A2 und die Zelle 4,100 entspricht Zelle E101.
Das Array werte ist nun ein Spaltenarray, mit 1 Spalte Breite und 100 Zeilen Höhe, hierbei enthält jedes Feld des Array ein Unterarray in Form eines Zeilenarray, welches dann die einzelnen Zellwerte enthält.
Beispiel 1:
Das Feld werte(0) enhält im Konkreten ein Array, welches sich auslesen läßt z.B. mittels:
wobei tmp nun seinerseits ein Zeilenarray ist, welches die entsprechenden Zellwerte enthält, also, wiede im Konkreten, enthält tmp(0) hierbei den Wert aus Zelle A2, also:
wobei x dann dem Wert aus Zelle A2 entspricht.
Beispiel 2:
Wie bekommt man den Wert aus Zelle B24?
zuerst alle Werte des gewünschten bereiches einlesen, z.B.:
Code: Alles auswählen
myRange=odoc.sheets(2).getCellRangeByPosition(0,1,4,100)
werte = myRange.getDataArray()
werte(0) enthält nun ein Unterarray mit allen Werten der ersten gelesen Zeile, die hier Zeile 2 ist, wegen index=1 (die 1 in 0,1,4,100).
Folglich enthält werte(1) ein Array aus Zeile 3 usw.
Deshalb enthält nun werte(22) die Werte aus Zeile 24 und zwar 5 insgesamt denn es wurde ja nur Spalte A bis E eingelesen (die 0 und die 4 in 0,1,4,100).
Liest man nun das UNterarray aus werte(22) mit z.B.:
so befinden sich folgende Zellwerte in tmp():
in tmp(0) der Wert aus Zelle A24
in tmp(1) der Wert aus Zelle B24
in tmp(2) der Wert aus Zelle C24
in tmp(3) der Wert aus Zelle D24
in tmp(4) der Wert aus Zelle E24
also:
insgesamt:
Code: Alles auswählen
myRange=odoc.sheets(2).getCellRangeByPosition(0,1,4,100)
werte = myRange.getDataArray()
tmp() = werte(22)
Wert_aus_Zelle_B24 = tmp(1)
Gruß
Stephan