Zeile 3 in Excel tabelle wird gelöscht
10.11.2003 15:23:18
chrisg
Habe ein kleines Problem mit einem VBA-Script.
Es sollen werte aus einer Tabelle ausgelesen werden und dann in einer neuen Tabelle aufgelistet werden, wenn Bedingungen erfüllt sind.
Funktioniert auch prima, allerdings steht in der Neuen Tabelle in Zeile 1 der Tabellen-Kopf (Spaltenüberschriften).
Die soll er ja vor dem Eintragen der Werte nicht löschen.
Der Code dazu sieht so aus.
Sub Auszahlung()
Dim wks As Worksheet, wksTarget As Worksheet
Dim iRow As Integer, iRowT As Integer, lRow As Integer, iCol As Integer, _
Name As String
Application.ScreenUpdating = False
Set wks = Sheets("Übersicht_Klassifizierer")
Set wksTarget = Sheets("Auszahlung_Klassifizierer")
wksTarget.Range(Cells(2, 1), Cells(Cells(65536, 1).End(xlUp).Row, 1)).EntireRow.Delete
iRowT = 2
iRow = 1
lRow = wks.Cells(65536, 2).End(xlUp).Row
With wks
For iRow = 5 To lRow
Name = .Cells(iRow, 2)
For iCol = 4 To Columns("cc").Column Step 7
If Not IsEmpty(.Cells(iRow, iCol)) Then
If .Cells(iRow, iCol) <= (Date - 14) And IsEmpty(.Cells(iRow, iCol + 5)) Then
wksTarget.Cells(iRowT, 1) = Name
wks.Range(.Cells(iRow, iCol - 1), .Cells(iRow, iCol + 5)).Copy
wksTarget.Cells(iRowT, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
' Destination:=wksTarget.Cells(iRowT, 2)
iRowT = iRowT + 1
End If
End If
Next iCol
Next iRow
End With
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub
Es sollen laut code ja nur jene Zeilen gelöscht werden, die ab der 2. Zeile Werte enthalten.
wksTarget.Range(Cells(2, 1), Cells(Cells(65536, 1).End(xlUp).Row, 1)).EntireRow.Delete
Einige male klappt alles wies soll, und beim 6. mal ist auf einmal der Tabellenkopf weg.
Kann mir jemand helfen!! ISt da wo ein Fehler drin?
Christian