Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Fokussierung der aktiven Zelle - Bewegung des Arbeitsblattes
#1
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.
Antworten Top
#2
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
Antworten Top
#3
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
Antworten Top
#4
Danke an den fetten Brotaufstrich und meinen ganz besonderen Dank an Uwe!
Da brauche ich ja gar nichts mehr zu tun.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste