Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: scroll up in VBA

scroll up in VBA
soendi
hallo experten!
gibt in vba die möglichkeit excel zu sagen, dass das blatt ganz nach oben links gescrollt wird?
ich habe einige zellen gesperrt, darunter auch den ganzen kopfbereich der tabelle ca. zeilen a1 bis a10 und dann kann ich ja nicht auf diese zellen zugreifen.
cells(1,1).select kann ich da nicht verwenden...
gibts ne andere lösung?
gruss
soendi
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: scroll up in VBA
ChrisL
Hi Soendi
z.B.
Range("C3").Select
Einfach dort wo der Schnittpunkt ist.
Gruss
Chris
AW: scroll up in VBA
soendi
geht nicht, denn wenn ich die erste zelle auswähle, die ich NICHT gesperrt habe, ist das blatt nicht ganz nach oben gescrollt...
brauche deshalb eine andere lösung.
deine lösung entspricht genau dem, was ich in meinem thread geschrieben habe, dass es mir nix bringt :-)
gruss
soendi
Anzeige
blindes huhn.... hab die lösung! - geschlossen!
23.03.2004 15:00:54
soendi
ActiveWindow.SmallScroll Up:=5000
AW: scroll up in VBA
Hajo_Zi
Hallo Soendi
so ganz weiß ich nicht was Du willst.Vielleicht hilft folgendes
Auf Zelle springen und Anzeige ganz oben links
Application.Goto Reference:=Worksheets("Tabelle1").Range("A51"), Scroll:=True
oder

Private Sub Workbook_Open()
ActiveWindow.ScrollColumn = ActiveWindow.ActiveCell.Column
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
End Sub


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
‘

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
ActiveWindow.ScrollColumn = ActiveWindow.ActiveCell.Column
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
End Sub

Diesen Code dem Workbook zuweisen. Es ist erforderlich, daß die beiden Scroll-Befehle sowohl dem Ereignis Workbook_Open als auch Workbook_SheetChange zuzuweisen. Dann erscheint die aktive Zelle immer links oben.
Von "Quinoman" Michael


Anzeige
AW: scroll up in VBA
24.03.2004 16:01:24
soendi
hallo hajo!
danke für die lösung, doch ich brauche nur ein temporäres scroll-up. d.h. ich schleife(sortiere ein blatt, scroll nach oben)fertig schleife und speichere dann die datei. d.h. wenn ich dann die datei veröffentliche ist sie immer nach oben gescrollt. für meine eigene verwendung soll sie aber nicht immer in der linken oberen ecke starten... sonst muss ich wieder die ganze zeit rumscrollen :-)
grüsse ausm fürstenlande!
soendi
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel VBA: Nach oben scrollen in deinem Arbeitsblatt


Schritt-für-Schritt-Anleitung

Um in Excel VBA nach oben zu scrollen, kannst du die SmallScroll-Methode verwenden. Hier ist eine einfache Anleitung:

  1. Öffne den VBA-Editor (Alt + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).

  3. Kopiere und füge den folgenden Code ein:

    Sub ScrollUp()
       ActiveWindow.SmallScroll Up:=10  ' Scrollt um 10 Zeilen nach oben
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, um nach oben zu scrollen.

Wenn du das Arbeitsblatt ganz nach oben scrollen möchtest, kannst du ActiveWindow.ScrollRow = 1 verwenden:

Sub ScrollToTop()
    ActiveWindow.ScrollRow = 1  ' Scrollt ganz nach oben
End Sub

Häufige Fehler und Lösungen

Fehler: Das Arbeitsblatt scrollt nicht ganz nach oben.

  • Lösung: Stelle sicher, dass du ActiveWindow.ScrollRow = 1 verwendest, um das Arbeitsblatt wirklich ganz nach oben zu scrollen.

Fehler: Zellen sind gesperrt und können nicht ausgewählt werden.

  • Lösung: Anstatt Cells(1,1).Select zu verwenden, kannst du die Application.Goto-Methode nutzen:

    Application.Goto Reference:=Worksheets("Tabelle1").Range("A1"), Scroll:=True

Alternative Methoden

Neben der Verwendung von SmallScroll oder ScrollRow gibt es noch andere Methoden, um das Scrollen zu steuern:

  1. Scrollen zu einer bestimmten Zelle:

    Application.Goto Reference:=Worksheets("Tabelle1").Range("C3"), Scroll:=True
  2. Verwendung von Scrollbars: Du kannst auch das Scrollen mit einem Scrollbar-Steuerelement in deinem Arbeitsblatt steuern.

  3. Scrollen in einem Loop: Um mehrere Schritte zu scrollen, kannst du eine Schleife verwenden:

    Dim i As Integer
    For i = 1 To 5
       ActiveWindow.SmallScroll Up:=1
    Next i

Praktische Beispiele

  1. VBA zum Scrollen während einer Sortierung: Du kannst das Scrollen während einer Sortierung in deinem Makro einfügen:

    Sub SortAndScroll()
       ' Sortiere die Daten
       Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending
       ' Scroll nach oben
       ActiveWindow.ScrollRow = 1
    End Sub
  2. Temporäres Scrollen: Wenn du nur temporär nach oben scrollen möchtest, kannst du SmallScroll nach deinem Prozess verwenden.


Tipps für Profis

  • Verwende ActiveWindow.ScrollRow in Kombination mit ActiveCell, um dynamisch zu scrollen, basierend auf der aktuellen Zelle.
  • Teste die Scroll-Methoden in einem eigenen VBA-Projekt, um das Verhalten zu beobachten.
  • Achte darauf, dass gesperrte Zellen die Navigation beeinflussen können. Plane dein Scrollen entsprechend.

FAQ: Häufige Fragen

1. Wie kann ich das Arbeitsblatt beim Öffnen automatisch nach oben scrollen? Du kannst den folgenden Code im ThisWorkbook-Modul verwenden:

Private Sub Workbook_Open()
    ActiveWindow.ScrollRow = 1
End Sub

2. Kann ich die Scroll-Geschwindigkeit einstellen? Die Geschwindigkeit des Scrollens kann nicht direkt eingestellt werden. Du kannst jedoch die Anzahl der Zeilen, die du mit SmallScroll scrollst, anpassen, um das Scrollen schneller oder langsamer zu gestalten.

3. Gibt es eine Möglichkeit, zu einer bestimmten Zeile zu scrollen? Ja, du kannst die ScrollRow-Eigenschaft verwenden, um zu einer bestimmten Zeile zu scrollen:

ActiveWindow.ScrollRow = 10  ' Scrollt zur Zeile 10

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige