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.

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:
Windows 7 (64 Bit), Office Home and Student 2010
Antworten 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 ....?
Antworten 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)
Antworten 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
Antworten 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)
Antworten 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
Windows 7 (64 Bit), Office Home and Student 2010
Antworten 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
Antworten 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)
Antworten 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
Antworten 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)
Antworten Top


Gehe zu:


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