Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Redimensionierung eines Arrays über mehrere Dimensionen

Gruppe

Vba

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