Betrifft: Array - Index außerhalb des gültigen Bereichs
von: Marc
Public Sub Eraser(ByVal Referenz As String, ByVal EntryNr As Long, ByVal Endrow As Long, ByVal _
_
_
_
SpaltenIndex As Integer, ByVal Spalte2Index As Integer, ByVal Betrag As Currency)
Dim j As Long
Dim Nextlog As Long
Dim Payments As Integer ' Hilfsvariable, falls eine Forderung durch mehrere Zahlungen geklärt _
_
_
_
wurde
Payments = 0
Dim tArray() ' As Long
tArray(Payments) = EntryNr - 1 '<<<<<<<<<<<<<<<<<<<<<<<<<<<< "Index außerhalb des gültigen _
_
_
_
Bereichs!"
' Abgleich & Kumulation der gefunden Einträge
For j = EntryNr To Endrow
If Restanten.Cells(j, SpaltenIndex).Value = Referenz Then
Betrag = Betrag + Restanten.Cells(j, Spalte2Index).Value
Payments = Payments + 1
ReDim Preserve tArray(Payments)
tArray(Payments) = (EntryNr - 1) + j
Else
End If
Next j
''''''''''' Übertrag ins Logsheet
If Logsheet.Range("A1").Value = "" Then Logsheet.Range("A1").Value = "Logdaten:"
' Klärung von Einträgen
If Betrag = 0 Then
Nextlog = Logsheet.UsedRange.Rows.Count + 1 ' Nächste freie Zeile im Logsheet ermitteln
For x = 0 To Payments - 1
Restanten.Rows(tArray(x)).Copy Logsheet.Rows(Nextlog)
Nextlog = Nextlog + 1
Next x
Else
End If
End Sub
Betrifft: AW: Array - Index außerhalb des gültigen Bereichs
von: 1713261.html
Geschrieben am: 16.09.2019 10:12:16
Hallo Marc,
du dimensionierst zwar tArray() als Array hast ihm aber bis zur fehlerhaften Zeile noch keinen Index zugewiesen. Das machst du erst in dieser Zeile: ReDim Preserve tArray(Payments)
Gruß
Nepumuk
Betrifft: AW: Array - Index außerhalb des gültigen Bereichs
von: 1713264.html
Geschrieben am: 16.09.2019 10:31:51
Hallo Nepumuk,
da lag der Fehler. Ich habe es nun gelöst indem ich direkt nach der ersten Dimensionierung eine Redimensionierung durchgeführt habe::
Dim tArray() As Long
ReDim tArray(Payments)
tArray(Payments) = EntryNr - 1
Vielen Dank und Gruß,
Marc