Zeile 3 in Excel tabelle wird gelöscht

Bild

Betrifft: Zeile 3 in Excel tabelle wird gelöscht
von: chrisg
Geschrieben am: 10.11.2003 15:23:18

Hallo Excel-Freaks!

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
Bild


Betrifft: AW: Zeile 3 in Excel tabelle wird gelöscht
von: xXx
Geschrieben am: 10.11.2003 17:01:52

Hallo,
du musst den Fall, dass nur Zeile 1 da ist abfangen:
leZeile=wksTarget.Cells(65536,1).End(xlUp).Row
If leZeile>1 then
wksTarget.Range(cells(2,1),Cells(leZeile,1).EntireRow.Delete
End If

Gruß aus'm Pott
Udo
http://www.excelerator.de

P.S.Das Forum lebt auch von den Rückmeldungen der Frager an die Antworter.


Bild


Betrifft: AW: Zeile 3 in Excel tabelle wird gelöscht
von: ChrisL
Geschrieben am: 10.11.2003 17:06:55

Hi Christian

Ist schwer nachzuvollziehen. Habe aber folgende Vermutung.

Wenn lediglich der Title Zeile 1 vorhanden ist, die Spalte A2:A-n aber leer ist, dann gibt dir Cells(65536, 1).End(xlUp).Row die Zeile 1 als Resultat aus.

Wie wärs wenn du es mal so...
Rows("2:65536").EntireRow.Delete
... versuchst. Hat m.E. in Bezug auf die Performance keinen Einfluss.

Gruss
Chris


Bild


Betrifft: AW: Zeile 3 in Excel tabelle wird gelöscht
von: Chrisg
Geschrieben am: 12.11.2003 08:22:02

Hallo ChrisL, Hallo xXx!

Danke für Eure promte Hilfe.
Sorry daß ich mich nicht früher bedankt habe, war dienstlich verhindert.

Grüße aus Niederösterreich


Bild

Beiträge aus den Excel-Beispielen zum Thema " Zeile 3 in Excel tabelle wird gelöscht"