bitte entschuldigt, ich hab in einem anderen Thread Daniel nochmal was gefragt, kann aber sein, dass er es nicht liest oder übersieht. Daher möchte ich euch noch einmal fragen:
Ich definiere ein zweidimensionales Array.
Sub Fehlercheck()
Dim arr()
Dim iAnzahl As Integer, iZeile As Integer, iEnde As Integer, iMonat As Integer, iJahr As _
Integer
iZeile = ThisWorkbook.Sheets("Soll-Aufwand").Range("A65536").End(xlUp).Rows.Row - 1
iJahr = Sheets("Dashboard").Range("Dat").Value
ReDim arr(1 To iZeile * 12, 1 To 18) alte von Daniel vorgeschlagene Variante
ReDim arr(2 To iZeile + 12, 1 To 18) 'mein Versuch
For iAnzahl = 1 To iZeile
For iMonat = 1 To 12
'** Projektname einfügen
'arr(iAnzahl * 12 + iMonat, 6) = Sheets("Soll").Cells(iAnzahl + 1, 1).Value
arr(iAnzahl + iMonat, 6) = Sheets("Soll").Cells(iAnzahl + 1, 1).Value 'Index auß _
erhalb des gültigen Bereichs
'** Datum einsetzen
arr(iAnzahl * 12 + iMonat, 11) = DateSerial(iJahr, iMonat, 1)
'** Dummy Wert für Stunden einsetzen
arr(iAnzahl * 12 + iMonat, 12) = "0,01"
'** Vorgang einfügen
arr(iAnzahl * 12 + iMonat, 18) = Sheets("Soll").Cells(iAnzahl + 1, 2).Value
Next iMonat
Next iAnzahl
'** Daten zurückschreiben
.Rows(iEnde + 1).Resize(UBound(arr, 1)).Insert
.Cells(iEnde, 1).Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
End Sub
In das Array möchte ich den Inhalt von Zellen einfügen. Nachdem ich nun diverse Hinweise im Internet auf Arraydefinition und Fehler gesichtet habe, bin ich trotzdem nicht schlauer geworden.Mein Array ist (angenommen iZeile = 8) also arr(2 to 20, 1 to 18) groß.
Schreibe ich nun arr(iAnzahl + iMonat, 6) = Sheets("Soll").Cells(iAnzahl + 1, 1).Value wobei iAnzahl =1 und iMonat =1, dann bin ich doch bei arr(2,6), oder? Also innerhalb des gültigen Bereichs?
Wo ist mein Fehler?
Danke und Grüße
Henri