Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Probleme mit mehrdimensionalen Arrays in VB.NET

Mitglied: MarcoBorn

MarcoBorn (Level 1) - Jetzt verbinden

06.03.2014 um 13:14 Uhr, 3777 Aufrufe, 10 Kommentare

Hallo Forum,
ich versuche gerade, in VB.NET ein mehrdimensionales Array zu definieren, dann mit Werten zu füllen und anschließend diese an Excel zu übergeben. Ziel ist in Excel eine Tabelle, die 6 Spalten enthält, wobei die Zahl der Zeilen variieren kann. Aus Performancegründen will ich nicht die Werte einzeln in die Excel-Zellen schreiben, sondern das gesamte Array mit einem einzelnen Befehl.

Folgenden Code habe ich dazu ausprobiert:

Dim myArray() as Object
For i = 1 to Anzahl
ReDim Preserve myArray(Anzahl, Anzahl, Anzahl, Anzahl, Anzahl, Anzahl)
Hilfsarray1(i) = Variable1
Hilfsarray2(i) = Variable2
Hilfsarray3(i) = Variable3
Hilfsarray4(i) = Variable4
Hilfsarray5(i) = Variable5
Hilfsarray6(i) = Variable6
myArray() = (Hilfsarray1(i), Hilfsarray2(i), Hilfsarray3(i), Hilfsarray4(i), Hilfsarray5(i), Hilfsarray6(i))
Next
xlApp.Range(Cells(1, 1), Cells(Anzahl, 6)) = myArray


Variable1 bis Variable6 stehen für jeweils 6 Werte, die in die entsprechenden Spalten geschrieben werden. Irgendwo ist aber der Wurm drin, weil das Makro mit nichtssagenden Fehlermeldungen abbricht. Ich bin hinsichtlich Arrays in VB.NET noch völlig unerfahren und für jeden Hinweis dankbar.


Viele Grüße,
M. Born
Mitglied: emeriks
LÖSUNG 06.03.2014, aktualisiert um 15:49 Uhr
Erstmal: Eine einfache Tabelle hat nur 2 Dimensionen: Zeilen und Spalten

Versuchs mal so:

01.
Dim Rows As New List(Of Array) 
02.
Rows.Add({"a", "b", "c", "d", "e", "f"}) 
03.
 
04.
Rows.Add({Var1, Var2, Var3, Var4, Var5, Var6}) 
05.
 
06.
Dim RowArray() = Rows.ToArray
E.
Bitte warten ..
Mitglied: MarcoBorn
06.03.2014 um 13:45 Uhr
Hallo emeriks,
in Zeile 2 meckert mein Compiler folgendes an: Komma, ")" oder gültige Ausdrucksfortsetzung erwartet.
Denselben Fehler erhalte ich für Zeile 4, wenn ich Zeile 2 auskommentiere.

Ist da noch was anderes falsch?

M. Born
Bitte warten ..
Mitglied: emeriks
06.03.2014, aktualisiert um 13:47 Uhr
Reden wir tatsächlich von VB.Net oder etwa VBA?
Bitte warten ..
Mitglied: MarcoBorn
06.03.2014 um 13:52 Uhr
Von VB.NET. Ich programmiere in SharpDevelop eine DLL, die dann auch auf Excel zugreift.
Bitte warten ..
Mitglied: emeriks
06.03.2014 um 13:57 Uhr
Ah, ok. Da kann ich dann nicht helfen. Diese IDE habe ich noch nie benutzt.

Aber im Prinzip musst Du jetzt nur rausfinden, wie die entsprechende Syntax in dieser IDE aussehen muss.

E.
Bitte warten ..
Mitglied: MarcoBorn
06.03.2014 um 14:02 Uhr
Das ist dieselbe Syntaxt wie in Visual Studio. Ist quasi eine OpenSource-Umsetzung einer IDE für .NET.
Bitte warten ..
Mitglied: emeriks
06.03.2014 um 14:16 Uhr
Na offensichtlich nicht. Der von mir genannte Code wird bei mir in der IDE (VS 2012) jedenfalls nicht angemeckert.

Vielleicht Problem mit Copy&Paste? Schreib mal von Hand ab, vielleicht hilft's.

E.
Bitte warten ..
Mitglied: MarcoBorn
06.03.2014 um 14:51 Uhr
Hat leider auch nicht geholfen. Aber Dein Hiweis, dass Excel nur 2 Dimensionen kennt, war wahrscheinlich der richtige Tipp. Ich brauch ja auch kein 6-dimensionales Array, sondern eine Tabelle mit 6 Spalten. Die Zahl der ausgeworfenen Fehler nimmt schon ab....
Bitte warten ..
Mitglied: colinardo
LÖSUNG 06.03.2014, aktualisiert um 15:50 Uhr
Hallo M.Born,
für die Zuweisung an einen Range in Excel brauchst du ein reines 2-Dimensionales String-Array. Es dürfen keine geschachtelten Array's sein.
Als Beispiel siehe dazu: http://stackoverflow.com/questions/12545054/array-to-excel-using-vb-net

Grüße Uwe
Bitte warten ..
Mitglied: MarcoBorn
06.03.2014 um 15:48 Uhr
Folgender Code funktioniert:

Dim myArr(länge, 6) As Object
For i = 1 to Anzahl
myArr(i, 0) = Variable1
myArr(i, 1) = Variable2
myArr(i, 2) = Variable3
myArr(i, 3) = Variable4
myArr(i, 4) = Variable5
myArr(i, 5) = Variable6
Next
xlApp.Range(Cells(1, 1), Cells(UBound(myArr, 1), UBound(myArr, 2))) = myArr

Danke für den Wink mit dem Zaunpfahl, emeriks.
Bitte warten ..
Ähnliche Inhalte
PHP
Mehrdimensionales arrays durchsuchen
Frage von pcguyPHP4 Kommentare

Hallo zusammen Ich möchte ein Mehrdimensionales arrays vergeichen und komme nicht weiter. Da ich noch nicht so erfahren bin, ...

Visual Studio
Structure von Arrays in VB.NET
gelöst Frage von MarcoBornVisual Studio4 Kommentare

Hallo Forum, ich habe 2 Fragen zum Thema Structures in VB.NET: 1. Ist es möglich, in VB.NET eine Structure ...

Visual Studio
Verschachtelte Arrays
gelöst Frage von MarcoBornVisual Studio19 Kommentare

Hallo Forum, ich habe in VB.NET 6 Arrays, die alle dieselbe Länge, aber unterschiedliche Datentypen haben. Array1 ist vom ...

C und C++

Push back in einen mehrdimensionalen Vektor

Frage von How-ToC und C++1 Kommentar

Hallo zusammen, es geht um folgendes Problem. Ich habe z.B. zwei Variablen vom Typ string und würde diese gern ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 7 StundenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 7 StundenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Viren und Trojaner
Neue Avira Management Console Egosecure
Information von OSelbeck vor 1 TagViren und Trojaner1 Kommentar

Hallöchen zusammen, ich weiß nicht, wer von euch noch Avira einsetzt Wir haben ein paar Kunden Avira hatte ja ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 1 TagDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Postfach Einbindung Betriebs-rat -Arzt, Bewerbung .
Frage von YellowcakeExchange Server15 Kommentare

Hey ich habe da mal eine Denksport Aufgabe bekommen Genutzt wird ein Exchange Server 2010. hier gibt es den ...

Datenschutz
Telematikinfrastruktur Erfahrungsaustausch
Frage von MOS6581Datenschutz12 Kommentare

Moin, unter meinen Kunden befinden sich auch einige Ärzte, welche sich künftig mit der Telematikinfrastruktur-Geschichte der Gematik herumärgern dürfen. ...

Windows Server
Delgegierte OU via RDP verwalten - Objektverwaltung zuweisen
gelöst Frage von TOAOICEWindows Server12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte in meiner Domäne (Server2016), einer Gruppe (OUAdmin) Berechtigungen auf die OU Test ...

Windows Server
Downgrade von Windows Server 2016 auf 2012 - Wie vorgehen?
Frage von EstefaniaWindows Server12 Kommentare

Guten Ich habe eine Frage an Erfahrene unter euch. Durch einen InPlace Upgrade wurde Windows Server 2012 auf die ...