ich hab mir da wieder was ausgedacht, bei dem ich arg am Verzweifeln bin:
In einer Exceldatei habe ich mehrere Tabellenblätter für fortlaufende Jahre mit identischem Aufbau. Auf jedem Tabellenblatt befinden sich zwei Buttons, um ein Jahr nach vorn oder ein Jahr zurückzublättern. Wenn ich in einer Tabelle einen Wert ändere und prüfen möchte, wie er im nächsten oder vorigen Jahr aussieht, hätte ich gern, dass, wenn der entsprechende Button gedrückt wird, die andere Tabelle angezeigt wird, dort dieselben Zeilen zu sehen sind und die gleiche Zelle aktiviert ist, wie im ursprünglichen Tabellenblatt.
Mein Stand bis jetzt:
Bei Worksheet.Activate wird unterschieden, ob ich über die Buttons an die Tabelle komme oder über die Reiter am unteren Bildschirmrand.
Ich kann die Adresse der alten Zelle in die aufgerufene Tabelle übernehmen. Die Zelle wird selektiert.
Die oberste Zelle im alten Tabellenblatt wird auch im neuen Tabellenblatt als obere Zeile angezeigt. ABER: nicht immer! Manchmal scrollt die Tabelle zu einer anderen Zeile. Ich kann mir nicht erklären, warum nur manchmal, woher die Zeilennummer dann kommt. Ich kann mir auch nicht vorstellen, dass Excel langsamer rechnet, als ich klicken kann.
Im Anhang habe ich eine Beispieldatei erstellt. Der Code ist so ähnlich wie in meiner Originaldatei. Das Problem ist aber dasselbe. Die obere sichtbare Zeile stimmt nicht immer.
Ich würde mich sehr freuen, wenn sich jemand von euch mal da durchwühlen kann.
Danke schonmal und
Viele Grüße
Kulo
https://www.herber.de/bbs/user/169562.xlsm