Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zweidimensionales Array in Tabelle schreiben

Zweidimensionales Array in Tabelle schreiben
17.02.2016 20:07:59
SteffeS
Hallo Zusammen,
wie kann ich ein Array welches aus 1000 "Zeilen" und 5 "Spalten" besteht komplett in eine Tabelle ausgeben. Die Anzahl der Zeilen und Spalten kann dabei jedoch unterschiedlich sein.
Im Nez habe ich folgendes gefunden. Dabei wird aber nur die 1. Spalte gefüllt:
Workbooks(ThisWorkbook.Name).Sheets("test").Cells(1, 1).Resize(UBound(vArray) - LBound(vArray) + 1).Value = vArray
Danke Euch schon mal.
VG Steffen

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zweidimensionales Array in Tabelle schreiben
17.02.2016 20:11:54
ransi
Hallo,
Ungetestet:
Workbooks(ThisWorkbook.Name).Sheets("test").Cells(1, 1).Resize(UBound(vArray,1) - LBound(vArray,1) + 1,UBound(vArray,2) - LBound(vArray,2) + 1).Value = vArray
ransi

AW: Zweidimensionales Array in Tabelle schreiben
17.02.2016 20:15:17
SteffeS
Hallo,
Danke für die schnelle Antwort, funktioniert :-)
VG Steffen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zweidimensionales Array in Excel-Tabelle schreiben


Schritt-für-Schritt-Anleitung

Um ein zweidimensionales Array in eine Excel-Tabelle zu schreiben, kannst du den folgenden VBA-Code verwenden. Dieser Code funktioniert in Excel VBA und ermöglicht es dir, die Anzahl der Zeilen und Spalten flexibel zu gestalten:

Sub ArrayInTabelleSchreiben()
    Dim vArray() As Variant
    Dim i As Long, j As Long

    ' Beispiel: 1000 Zeilen und 5 Spalten
    ReDim vArray(1 To 1000, 1 To 5)

    ' Füllen des Arrays mit Beispielwerten
    For i = 1 To 1000
        For j = 1 To 5
            vArray(i, j) = "Wert " & i & "," & j
        Next j
    Next i

    ' Array in die Tabelle schreiben
    With Workbooks(ThisWorkbook.Name).Sheets("test")
        .Cells(1, 1).Resize(UBound(vArray, 1), UBound(vArray, 2)).Value = vArray
    End With
End Sub

Dieser Code fügt die Werte aus dem Array in die Tabelle "test" ein und passt sich automatisch der Größe des Arrays an. Achte darauf, die Tabellennamen und Bereiche nach Bedarf anzupassen.


Häufige Fehler und Lösungen

Ein häufiger Fehler, den viele Benutzer machen, ist das falsche Dimensionieren des Arrays. Stelle sicher, dass du die UBound und LBound Funktionen korrekt verwendest. Hier ist die korrekte Zeile für das Schreiben des Arrays in die Tabelle:

Workbooks(ThisWorkbook.Name).Sheets("test").Cells(1, 1).Resize(UBound(vArray, 1) - LBound(vArray, 1) + 1, UBound(vArray, 2) - LBound(vArray, 2) + 1).Value = vArray

Wenn du nur die erste Spalte befüllt siehst, kontrolliere, ob du die Dimensionen des Arrays korrekt angegeben hast.


Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch manuell Daten in Excel eingeben oder Formeln nutzen, um Daten dynamisch zu generieren. Eine Alternative wäre die Verwendung von Excel-Tabellenfunktionen, um Werte zu aggregieren, jedoch ist dies nicht so flexibel wie die Verwendung eines Arrays in VBA.


Praktische Beispiele

Hier ist ein weiteres Beispiel, das zeigt, wie du ein einfaches zweidimensionales Array mit zufälligen Zahlen in deine Excel-Tabelle schreiben kannst:

Sub ZufallsArrayInTabelle()
    Dim vArray(1 To 10, 1 To 2) As Variant
    Dim i As Long

    ' Füllen des Arrays mit Zufallszahlen
    For i = 1 To 10
        vArray(i, 1) = Int((100 * Rnd) + 1) ' Erste Spalte: Zufallszahlen von 1 bis 100
        vArray(i, 2) = "Text " & i       ' Zweite Spalte: Text
    Next i

    ' Schreiben des Arrays in die Tabelle
    Workbooks(ThisWorkbook.Name).Sheets("test").Cells(1, 1).Resize(10, 2).Value = vArray
End Sub

In diesem Beispiel wird ein Array mit 10 Zeilen und 2 Spalten erzeugt und in die Tabelle geschrieben.


Tipps für Profis

  • Nutze Option Explicit, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Kommentiere deinen Code umfangreich, damit du und andere Benutzer später besser verstehen, was jeder Teil des Codes tut.
  • Experimentiere mit der Application.ScreenUpdating-Einstellung, um die Performance beim Schreiben großer Datenmengen zu verbessern:
Application.ScreenUpdating = False
' Dein Code hier
Application.ScreenUpdating = True

FAQ: Häufige Fragen

1. Wie kann ich die Größe des Arrays dynamisch festlegen?
Du kannst die ReDim Anweisung verwenden, um die Größe des Arrays zur Laufzeit anzupassen.

2. Was tun, wenn mein Array nicht korrekt in die Tabelle geschrieben wird?
Überprüfe die Dimensionierung des Arrays und stelle sicher, dass du die Resize-Methode korrekt anwendest. Achte auch darauf, dass das Zielblatt ("test") existiert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige