VBA - Navigieren in der Tabelle
#1
Hallo,

mein Jahresplan, Jan. bis Dez., wird von links nach rechts aufgebaut. Spalten A-G sind fixiert. Wenn man also ganz nach links scrollt, beginnt der 1. Jan. in Spalte H. Mit einer Schaltfläche möchte ich gerne, das der 1. Feb. rechts neben Spalte G steht. Mit dem Makrorekorder würde das also so aussehen: "ActiveWindow.SmallScroll ToRight:=31". Vorausgesetzt die Spalte H ist sichtbar.
Wie kann man das lösen?

Thomas

PS: Hat keine Eile :43:
Top
#2
Hey

Ich denke mal du möchtest nicht wie beschrieben immer zum 1. Feb. Wenn doch hast du die Frage eigentlich selbst beantwotet.

Möchtest du zu einem bestimmten Datum springen welches du vorher z.B. in einer Zelle angibst?

Oder möchtest du bei jedem weiteren Klick der Schaltfläche jeweils einen Monat weiter zum ersten des Monats springen? (1. Feb; 1. März...)

Oder ....?
Top
#3
Moin!
Aus meinem Fundus:
Sprung zum Monatsersten entweder durch FormularSteuerelement-Dropdown in A1 oder durch Hyperlink.

Gruß Ralf


Angehängte Dateien
.xlsm   Kalender Monatssprung.xlsm (Größe: 40,33 KB / Downloads: 7)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
Code:
Private Sub Workbook_open()
   Application.Goto sheets(1).Cells(1, 8 + DatePart("y", Date) - Day(Date)), -1
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#5
Oder so:
Code:
ActiveWindow.ScrollColumn = Date + 9 - DateSerial(2017, 1, 1) - Day(Date)
oder eben mein Einzeiler aus obiger Datei
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#6
Hallo,

erstmal Danke an alle.
Ja, wie Elex es richtig vermutet. Ich möchte von einem Monat zum nächsten springen. Im Prinzip so, wie das Dropdown Steuerelement von RPP63. Dieses ist praktisch für einen größeren Sprung.
Aber um vom Januar zum 1. Februar und zum 1. März usw. zu kommen, wären mir einzelne Schaltflächen lieber.
Den Beispielcode von snb habe ich aus Zeitgründen noch nicht testen können. Muss mich jetzt auch leider schon wieder vom PC trennen. Schau mir alles Dienstag früh nochmal genauer an.
Danke an alle Helfer für eure Mühe.

Thomas
Top
#7
Schau dir mal das Beispiel in der Excel/VBA Hilfe zu Application.Goto-Methode an.

Für jeden der Butten den Code aus dem Bsp. hinterlegen.
Die zwölf Rangebereiche zu denen du springen möchtest sollten ja bekannt sein und gleich bleiben.

Mfg
Top
#8
Hi Elex!
Ich bin und bleibe der Meinung, dass man, wenn ein simpler Algorithmus zugrunde liegt, keine 12 Schaltflächen braucht.
Auch erscheint mir bei einem fixierten Bereich die ActiveWindow.ScrollColumn-Methode als sinnvoller.
Aber dies ist natürlich Geschmackssache. ;)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#9
Hi Ralf!

Ich für mich würde auch eher eine Auswahlliste und(oder) einen Button verwenden.
Um die Vorzügen zwischen den beiden Methoden zur beurteilen fehlt mir aber auch noch Praxis.

Mfg
Top
#10
Dann bist Du hier sehr gut aufgehoben!
Gib gerne Deine Lösungsvorschläge und fühle Dich niemals auf den Schlips getreten, wenn eine "bessere" Variante nachgelegt wird.
So habe ich übrigens meine ehemals rudimentären Kenntnisse "ein wenig" gepimpt. ;)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


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