2017-06-21 3 views
0

Ich habe ein Array namens "arrRecords" mit einer Abfrage von ODBC erstellt. Ich möchte den Wert dieses Arrays in mein Arbeitsblatt ausgeben. Das Array hat 4 Spalten, die Anzahl der Zeilen hängt jedoch von der Abfrage ab. Wie mache ich das?Wie man ein Array in Vba ausgibt

Bitte helfen.

+0

'resize' und' ubound' –

+0

Diese Frage hat bereits eine (viel bessere) Antwort hier: https://stackoverflow.com/questions/6063672/excel-vba-function-to-print-an-array-to -the-workbook – RBarryYoung

+0

Mögliches Duplikat der [Excel VBA-Funktion zum Drucken eines Arrays in die Arbeitsmappe] (https://stackoverflow.com/questions/6063672/excel-vba-function-to-print-an-array-to-the -Arbeitsmappe) – RBarryYoung

Antwort

0

So etwas sollte funktionieren:

Sub printarray(arrRecords) 

Dim i As Long, j As Long 

For i = 1 To 4 
     For j = 1 To UBound(arrRecords, 2) 
      ActiveSheet.Cells(j, i).Value = arrRecords(i, j) 
     Next j 
Next i 

End Sub 

Activesheet.cells muss mit ersetzt werden, was auch immer loaction Sie eingeben möchten das Array.

Beachten Sie, dass je nach Einstellung die Abmessungen geändert werden können. Mit ubound (Array, 2) kann man den Upperbound eines Arrays zweiter Dimension erhalten. Dann einfach durchschleifen. Beachten Sie auch, dass i und j nicht mit 1 beginnen müssen, dies hängt von Ihrem Fall ab.

Fliegt weg!