Subscript out of range
13.01.2005 15:50:41
Tina
Habe vorgestern von Josef diesen Code bekommen.
Ich habe den Code so angepasst, dass die Zieltabelle wksZ
nicht in der selben Datei ist, sondern in einem anderen Excel-File.
Leider funktioniert das nicht - folgende Fehlermeldung erscheint:
Run-time error '9':
Subscript out of range
bei folgender Zeile:
Set wksZ = Workbooks("export.xls").Worksheets("Sheet1")
Hier der Code:
Option Explicit
Sub Auswertung()
Dim wksQ As Worksheet 'Quelltabelle
Dim wksZ As Workbook 'Zieltabelle
Dim rng As Range
Dim lastRow As Long, lRow As Long, lFirst As Long
Dim n As Integer
Set wksQ = Sheets("Sheet1")
Set wksZ = Workbooks("export.xls").Worksheets("Sheet1")
With wksZ.Rows("2:65536")
.ClearContents
.ClearFormats
End With
lRow = 2
lFirst = 2
lastRow = IIf(wksQ.Range("A65536") <> "", 65536, wksQ.Range("A65536").End(xlUp).Row)
For Each rng In wksQ.Range("A2:A" & lastRow)
With rng
.EntireRow.Copy wksZ.Cells(lRow, 1)
If rng.Offset(1, 0) <> rng Then
For n = 5 To 8
wksZ.Cells(lRow + 1, 1) = "Total"
wksZ.Cells(lRow + 1, 1).Font.Bold = True
wksZ.Cells(lRow + 1, n) = "=SUM(R[" & -(lRow - lFirst + 1) & "]C:R[-1]C)"
'wksZ.Cells(lRow + 1, n) = _
'Application.Sum(wksZ.Range(wksZ.Cells(lFirst, n), wksZ.Cells(lRow, n)))
wksZ.Cells(lRow + 1, n).Font.Bold = True
wksZ.Cells(lRow + 1, n).NumberFormat = "#,##0.00"
Next
lRow = lRow + 1
lFirst = lRow + 1
End If
lRow = lRow + 1
End With
Next
End Sub
Wie muss ich den Code ändern, damit das funktioniert?
Danke schon mal für Eure Hilfe.
Gruss Tina