marcoborn
Goto Top

Array mit Excel-Range befüllen

Hallo Forum,
ich möchte gern ein Array mit einer Spalte aus Excel befüllen. Das Ganze soll jedoch nicht Zeile für Zeile in einer Schleife erfolgen, sondern möglichst mit nur einem Befehl. Geht das?

Viele Grüße,
M. Born

Content-Key: 246943

Url: https://administrator.de/contentid/246943

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: colinardo
colinardo 20.08.2014 aktualisiert um 15:14:25 Uhr
Goto Top
Moin Marco,
ja das geht, einfacher als du denkst face-smile
arr = Range("A1:A100")  
Das Ergebnis ist immer ein zweidimensionales Array (für Zeilen und Spalten).

Grüße Uwe
Mitglied: MarcoBorn
MarcoBorn 20.08.2014 um 15:13:52 Uhr
Goto Top
Vielen Dank, Uwe. Was wäre ich nur ohne Deine Hilfe....

In VBA funktioniert das Ganze einwandfrei. Wenn ich es jedoch in VB.NET probiere, bekomme ich bei der Zuweisung in Zeile 2 folgende Fehlermeldung:

Das COM-Objekt des Typs "System.__ComObject" kann nicht in den Klassentyp "System.Object" umgewandelt werden. Instanzen von Typen, die COM-Komponenten repräsentieren, können nicht in andere Typen umgewandelt werden, die keine COM-Komponenten repräsentieren. Eine Umwandlung in Schnittstellen ist jedoch möglich, sofern die zugrunde liegende COM-Komponente QueryInterface-Aufrufe für die IID der Schnittstelle unterstützt.
Mitglied: colinardo
Lösung colinardo 20.08.2014 aktualisiert um 16:26:35 Uhr
Goto Top
Ach sorry, war gerade noch im VBA-Modus, da übersieht man die Kategorie Visual Studio doch glatt face-smile
Sieht dort aber ähnlich aus:
Dim arr(,) as Object = objExcel.Worksheets(1).Range("A1:A100").Value  
Das Excel-Objekt etc. musst du natürlich anpassen.

Grüße Uwe
Mitglied: MarcoBorn
MarcoBorn 20.08.2014 um 16:26:29 Uhr
Goto Top
Vielen Dank. Jetzt funktioniert es.