Rückkehr in VBA-Code-Beispiele

VBA – Ausgabe/Drucken von Array in einem Bereich

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,

vba array transponieren

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:

vba array transponiert

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! vba save as


Learn More!