bei der Verarbeitung von Daten mittels VB benötige ich sehr viele Zeilen,
die auch wieder verschwinden.
Nun merkt sich Excel dies leider und der aktive Bereich, der mit der
Scrollbar erreichbar ist, bleibt viel zu groß.
So enden die Datensätze im Moment bei 150, aber das untere Ende der
Scrollbar liegt ca. bei 1000 (im Bereich von 150-1000 steht nichts).
Wie kann ich Excel dazu bewegen, die ScrollBar wieder auf den Bereich bis
150 zu beschränken?
Grüße & schonmal Danke im Vorraus
Andreas
"Andreas Hoffmann" <hof...@snafu.de> schrieb im Newsbeitrag
news:9i9ec1$d0j$02$1...@news.t-online.com...
erst einmal Danke für die Antwort, aber leider funktioniert sie nicht ganz
richtig...
> Hallo Andreas, Datei speichern oder
Also Datei speichern hilft, aber leider darf/möchte ich die Datei nicht
automatisch speichern
Der UsedRange wird übrigens nur bis auf eine Zeilenanzahl knapp über 500
gesenkt
> dummy = ActiveSheet.UsedRange.Address
Also das hilft schon ein wenig - danach geht die Scrollbar und der UsedRange
nur noch zu einer Zeile knapp über 500.
Wie funktioniert diese Zeile eigentlich? Soweit ich das sehe, gibt sie nur
die Adresse des UsedRange wieder. Mehr sollte dabei doch eigentlich nicht
passieren, oder?
> (Excel97)
Es ist übrigens Excel 2000
Grüße
Andreas
> > dummy = ActiveSheet.UsedRange.Address
>
> Also das hilft schon ein wenig - danach geht die Scrollbar und der
UsedRange
> nur noch zu einer Zeile knapp über 500.
> Wie funktioniert diese Zeile eigentlich? Soweit ich das sehe, gibt sie nur
> die Adresse des UsedRange wieder. Mehr sollte dabei doch eigentlich nicht
> passieren, oder?
hinter dieser Zeile steckt eigentlich kein Sinn. Sie funktioniert
(normalerweise), Excel weiß warum.
Stelle sicher, daß Du die Zeilen komplett löscht, also nicht nur die
Inhalte. Dann funktioniert zumindest bei mir dieser Lösungsansatz. Weiter
kann ich Dir leider nicht helfen. Vielleicht kannst Du auch die Berechnungen
in eine andere Tabelle auslagern und diese dann komplett löschen
MfG Ullrich
Hallo Andreas,
falls Du die ScrollArea z.B. fuer die Spalte A auf den
Bereich von A1 bis zur letzten Zeile mit Inhalt festlegen/
begrenzen willst, kannst Du das mit der fogenden
Prozedur (im Klassenmodul Deiner Tabelle) erreichen
(WIN NT 4.0 SP3, XL 97 SR1):
Sub ScrollAreaAnZeilenAnpassen()
' In dieser Prozedur wird die ScrollArea der Spalte A
' auf den Bereich A1:An (n = letzte Zeile der Spalte A
' mit Inhalt) festgelegt.
' Als Tabellenbezeichner werden die VBA-Codenamen
' verwendet (sind diejenigen, die in der VBIDE im
' Objektbrowser links, d.h. ohne die runden Klammern,
' stehen.
Dim lngLetzteZeile As Long
Dim strScrollAreaA As String
lngLetzteZeile = Tabelle2.Range("A65536").End(xlUp).Row
strScrollAreaA = "A1:A" & lngLetzteZeile
Tabelle2.ScrollArea = strScrollAreaA
End Sub
Wiederherstellen des vollen Scrollbereiches mit
Tabelle2.ScrollArea = ""
Bin mir nicht sicher, ob Du das gemeint hast, aber
vielleicht hilft's trotzdem.
Mit freundlichem Gruss
Wilfried
> Stelle sicher, daß Du die Zeilen komplett löscht, also nicht nur die
> Inhalte. Dann funktioniert zumindest bei mir dieser Lösungsansatz.
Das war der fehlende Teil. Jetzt klappt es auch bei mir :-))).
> Weiter
> kann ich Dir leider nicht helfen.
Das reicht ja auch schon.
Durch Zufall habe ich gerade bemerkt, dass man Deine Zeile auch durch
"UsedRange.Select" ersetzen kann, was anscheinend den gleichen Effekt hat.
Wahrscheinlich weiß wirklich nur der allmächtige Bill, warum das so
funktioniert ;-)
Grüße und vielen Dank
Andreas