VBA – Ausgabe/Drucken von Array in einem Bereich
In this Article
In diesem Tutorial wird gezeigt, wie man mit VBA ein Array in einen Bereich ausgibt.
Array in Bereich ausgeben (drucken)
Daten, die in einem Array gespeichert sind, können leicht in ein Excel-Blatt ausgegeben werden. Es gibt 3 Möglichkeiten, dies zu tun.
Daten in einen anderen Bereich ausgeben
Wir können ein Array mit Daten aus einem Bereich in Excel füllen und die Daten dann in einem anderen Bereich in Excel ausgeben.
Public Sub TestAusgabe()
'Das Array deklarieren
Dim rnArray() As Variant
'Das Array mit dem Bereich auffüllen
rnArray = Range("A1:H24")
'Das Array in einem anderen Zellenbereich ausgeben
Range("J1:Q24") = rnArray()
End Sub
Das gesamte Array wird in einer einzigen Codezeile in das Array kopiert und dann in seiner Gesamtheit in einem anderen Zellenbereich auf dem Blatt ausgegeben.
Durchlaufen eines Arrays in einer Schleife und Ausgabe der Daten
Dieses Beispiel durchläuft ein Array in einer Schleife und gibt es in einem Bereich aus.
Public Sub ArrayDurchlaufenTest()
'Das Array deklarieren
Dim rnArray() As Variant
'Die Ganzzahl deklarieren, um die Anzahl der Zeilen zu speichern
Dim iRw As Integer
'Der Array-Variablen einen Bereich zuweisen
rnArray = Range("A1:A10")
'Die Werte im Array durchlaufen
For iRw = LBound(rnArray) To UBound(rnArray)
'Einen anderen Bereich mit den Daten auffüllen
Cells(iRw, 2).Value = rnArray(iRw, 1)
Next iRw
End Sub
LBound und UBound geben den Start- (Lower Bound) und den Endindex (Upper Bound) eines Arrays zurück. In diesem Fall sind es 1 und 10.
Array-Daten transponieren
Wir können die Daten im Array auch in das Excel-Blatt transponiert übertragen. Mit dem Transponieren können Sie die Daten horizontal auf dem Excel-Blatt anzeigen.
Wenn wir zum Beispiel eine Liste von Staaten in Excel haben und diese transponieren möchten,
Könnten wir dann den folgenden Code ausführen:
Public Sub AusgabeTransponierenTest()
'Das Array deklarieren
Dim rnArray() As Variant
'Es mit dem Bereich füllen
rnArray = Range("A1:A38")
'Die Daten transponieren
Range(Cells(1, 3), Cells(1, 40)).Value = Application.Transpose(rnArray)
End Sub
Dies würde zu folgendem Ergebnis führen:
Ausgabe an Debug.Print
Wir können die Array-Werte auch im Debug-Fenster ausgeben.
Public Sub ArrayDurchlaufenTest()
'Das Array deklarieren
Dim rnArray() As Variant
'Die Ganzzahl deklarieren, um die Anzahl der Zeilen zu speichern
Dim iRw As Integer
'Der Array-Variablen einen Bereich zuweisen
rnArray = Range("A1:A10")
'Die Zeilen - 1 bis 10 durchlaufen
For iRw = 1 To UBound(rnArray)
'Ausgabe im Direktfenster
Debug.Print rnArray(iRw, 1)
Next iRw
End Sub
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!