Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SpecialCells(xlLastCell) Eigenschaft falsch?

45 views
Skip to first unread message

Rolf G. Bercht

unread,
May 6, 2003, 5:48:14 AM5/6/03
to
Hallo
trotz Löschen eines Bereichs hinter der Zeile
LastDestBlockLine bleibt die LastCell (manchmal)
unverändert?!

Ich verwende folgenden Code zum Löschen aller Zellen und
Inhalte:

LL = ActiveSheet.Cells.SpecialCells(xlLastCell).row
If LL >= LastDestBlockLine + 1 Then
Cells(LastDestBlockLine + 1, 1).Select
Range(Selection, ActiveSheet.Rows(LL)).Select
Selection.Delete (xlShiftUp)
Selection.Clear
End If

Nach Durchführung ist LL unverändert, obwohl alle Zeilen
zwischen LastDestBlockLine und der bisher letzten Zelle
gelöscht wurden. Allerdings tritt der Fehler nicht immer
auf, und manchmal verschwindet er auch wieder (leider ist
nicht bekannt, wann genau.)

Wenn jemand diesen Fehler oder gar eine Abhilfe kennt,
wäre ich begeistert, davon zu hören!

R G Bercht


Rolf G. Bercht

unread,
May 6, 2003, 6:10:23 AM5/6/03
to
Hallo,
ich muss den Fehler noch ergänzen, da ein Hinweis aus der
Microsoft KB leider auch nicht hilft:

After the Location property is calculated, you may again
select the original active cell. If you use code to scroll
between the first and last cell, or select the last cell
and immediately reselect the starting cell, the error may
still occur. The screen must redraw and the Location
property be calculated for the workaround to be effective.
If you use the above code with
Application.ScreenUpdating = False

to prevent screen redraw, the problem still occurs.

Man könnte folgern: (nur) wenn die letzte Zelle gerade mal
nicht dargestellt wird und das ScreenUpdating
ausgeschaltet ist, bleibt die letzte Zelle unverändert.
Lustigerweise ist der Fehler aber nur für die Location-
Eigenschaft beschrieben; sie tritt aber auch für die
xlLastCell-Eigenschaft auf.

das ist nicht der Fall: der Fehler ist immer noch da!

Rolf G. Bercht

>-----Originalnachricht-----

>.
>

stefan onken

unread,
May 6, 2003, 9:25:07 AM5/6/03
to
hallo Rolf,

anscheinend wird SpecialCells(xlLastCell) nur nach einem
Speichern (oder Schließen und Öffnen der
Datei) "geupdatet". Du könntest also :
ActiveWorkBook.Save vor die SpecialCells-Zeile schreiben

es mit ActiveSheet.UsedRange.Rows.Count probieren, wenn
in der ersten Zeile des Sheets Daten vorhanden sind.

Vom SpecialCells-Ergebnis ausgehend per zB Do-While-
Schleifen mit Application.CountA prüfen, ob die
Spalten/Zeilen leer sind.
Bsp:
http://groups.google.de/groups? &selm=374edfd8.26153078%
40msnews.microsoft.com

Gruß
stefan

>-----Originalnachricht-----

>.
>

0 new messages