VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Redimensionierung eines Arrays über mehrere Dimensionen

Gruppe

Matrix

Bereich

Vba

Thema

Redimensionierung eines Arrays über mehrere Dimensionen

Problem

Eine Array-Redimensionierung wird nur zugelassen, wenn sich ausschließlich die letzte Datenfelddimension ändert. Wie kann ich das umgehen?

Lösung

Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.




StandardModule: basMain

Sub FreeArray()
   Dim iCol As Integer, iRow As Integer, iCounter As Integer
   Dim arr()
   Application.ScreenUpdating = False
   ReDim arr(1 To 2, 1 To 10)
   For iRow = 1 To 2
      For iCol = 1 To 10
         arr(iRow, iCol) = "Spalte " & iCol & " - " & "Zeile " & iRow
      Next iCol
   Next iRow
   MsgBox "Letzter Wert:" & Chr(10) & arr(2, 10)
   Workbooks.Add
   Range("A1:J2") = arr
   For iCounter = 1 To 11
      Cells(3, iCounter) = "Spalte " & iCounter & " - " & "Zeile 3"
   Next iCounter
   For iCounter = 1 To 3
      Cells(iCounter, 11) = "Zeile " & iCounter & " - " & "Spalte 11"
   Next iCounter
   arr = Range("A1").CurrentRegion
   ActiveWorkbook.Close savechanges:=False
   MsgBox "Letzter Wert:" & Chr(10) & arr(3, 11)
   Application.ScreenUpdating = True
End Sub

    


Beiträge aus dem Excel-Forum zu den Themen Matrix und Vba