Clever-Excel-Forum

Normale Version: Fokussierung der aktiven Zelle - Bewegung des Arbeitsblattes
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo allerseits,

ich habe mir ein kleines Formular mit vier CommandButtons geschrieben mit deren Hilfe ich mich  mittels des Codes > Range(ActiveCell.Address).Offset(X, Y).Select < auf meinem Tabellenblatt hin und her bewegen kann. Die aktive Zelle wandert dabei dann in Abhängigkeit vom jeweilig betätigten CommandButton nach oben, unten, links oder rechts auf meinem Tabellenblatt. Jetzt möchte ich wissen wie es möglich ist die Bewegungen umzukehren. Die aktive Zelle soll also auf einen Punkt fokussiert werden und dafür sich das ganze Arbeitsblatt "unterhalb" der aktiven Zelle bewegen.
Code:
Sub Relativbewegung()
'So
ActiveWindow.ScrollColumn = ActiveWindow.ActiveCell.Column
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
'oder so
Application.Goto Reference:=Range(ActiveCell.Address).Offset(0, 1), Scroll:=True

End Sub
Hi Mädels,
Sub Links()
 With ActiveWindow
   If .VisibleRange.Column > 1 Then
     .ScrollColumn = ActiveWindow.VisibleRange.Column - 1
     ActiveCell.Offset(, -1).Activate
   End If
 End With
End Sub

Sub Rauf()
 With ActiveWindow
   If .VisibleRange.Row > 1 Then
     .ScrollRow = ActiveWindow.VisibleRange.Row - 1
     ActiveCell.Offset(-1).Activate
   End If
 End With
End Sub

Sub Rechts()
 With ActiveWindow
   If .VisibleRange.Column + .VisibleRange.Columns.Count <= ActiveSheet.Columns.Count Then
     .ScrollColumn = ActiveWindow.VisibleRange.Column + 1
     ActiveCell.Offset(, 1).Activate
   End If
 End With
End Sub

Sub Runter()
 With ActiveWindow
   If .VisibleRange.Row + .VisibleRange.Rows.Count <= ActiveSheet.Rows.Count Then
     .ScrollRow = ActiveWindow.VisibleRange.Row + 1
     ActiveCell.Offset(1).Activate
   End If
 End With
End Sub
Gruß Uwe
Danke an den fetten Brotaufstrich und meinen ganz besonderen Dank an Uwe!
Da brauche ich ja gar nichts mehr zu tun.