Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.

Umkehrung der Relativbewegung von Arbeitsblatt und aktiver Zelle zueinander
#1
Hallo VBA Experten,

mittels der Pfeiltasten kann man sich ja auf einem Excel-Tabellenblatt bewegen und sehen wie
die Aktive Zelle dann nach unten, nach links oder rechts wandert. Das möchte ich gerne mal umgekehrt
haben. Ich möchte, dass die Aktive Zelle ganz oben links stehen bleibt und das darunter liegende
Arbeitsblatt sich bewegt. Wie kann man so etwas mit VBA umsetzen?
to top
#2
Hallo,

dazu braucht man nur die Taste Rollen drücken.
Nochmaliges drücken dieser Taste schaltet das wieder aus.

Gruß Uwe
to top
#3
Hallo Uwe,

dass mit dem Rollen weiß ich natürlich. Habe vielleicht vergessen zu erwähnen,
dass dies über eine Userform gehen soll. Habe eine TextBox und wenn ich die
Pfeiltasten entsprechend bewege werden die entsprechende Zelle ausgewählt.

Der Makrorecorder hilft mir dabei leider nicht weiter.
to top
#4
Hallo,

und wie werden die Zellen momentan mit TextBox und Pfeiltasten ausgewählt?

Gruß Uwe
to top
#5
Hallo Uwe,
ich habs so programmiert:
Code:
Public Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

Case 37 '<- zurück
Backward 'Unterprogramm
Inhalt  'Textverarbeitung in der Zelle
TextBox1.Text = ""

Case 39 '-> vorwärts
Forward
Inhalt
TextBox1.Text = ""
End Select

End Sub
to top
#6
Hallo,

Code:
Public Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Select Case KeyCode
    Case 37 '<- nach links
      ActiveWindow.SmallScroll ToLeft:=1
      TextBox1.Text = ""
    Case 38 '<- nach oben
      ActiveWindow.SmallScroll Up:=1
      TextBox1.Text = ""
    Case 39 '-> nach rechts
      ActiveWindow.SmallScroll ToRight:=1
      TextBox1.Text = ""
    Case 40 '<- nach unten
      ActiveWindow.SmallScroll Down:=1
      TextBox1.Text = ""
  End Select
End Sub

Gruß Uwe
to top
#7
Hallo Uwe,

du wirst es nicht glauben, ich bin gerade selber drauf gekommen. (Mit Makrorecorder selbstverständlich) . Trotzem sehr
vielen Dank für Deine Hilfe. - Und die bräuchte ich in diesem Fall auch nochmal dringend.

Ich kann derzeit die linke und die rechte Pfeiltaste mit dem TextBox1_KeyUp benutzen.
Bleiben noch die Pfeiltaste nach oben und unten. Deren Vervwendung klappt aber leider nicht, weil
sie aus der TextBox "fallen". Wie kriege ich das hin. Wäre mir sehr wichtig, das zu lösen.

Deshalb schon mal vielen Dank im voraus.
to top
#8
Hallo,

nimm KeyDown, denn da lässt sich der Tastencode ohne Auswirkung zurücksetzen.

Code:
Public Sub TextBox1_Keydown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Select Case KeyCode
    Case 37 '<- nach links
      ActiveWindow.SmallScroll ToLeft:=1
      TextBox1.Text = ""
      KeyCode = 0
    Case 38 '<- nach oben
      ActiveWindow.SmallScroll Up:=1
      TextBox1.Text = ""
      KeyCode = 0
    Case 39 '-> nach rechts
      ActiveWindow.SmallScroll ToRight:=1
      TextBox1.Text = ""
      KeyCode = 0
    Case 40 '<- nach unten
      ActiveWindow.SmallScroll Down:=1
      TextBox1.Text = ""
      KeyCode = 0
  End Select
End Sub

Gruß Uwe
to top
#9
Hallo Uwe,

habe gerade Dein kleines Programm ausprobiert und klappt prima. Werde jetzt die Pfeiltasten
noch mal kurz neu einstellen Rauf/ Runter natürlich mit Pfeil nach oben/unten und links und rechts ebenfalls intuitver
zuordnen. Einfach Danke. Du machst hier wirklich immer einen Super Job.

Mir bleibt nur noch Dir einen schönen Abend zu wünschen.
to top


Gehe zu:


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