Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
In Tabell nach oben scrollen
08.11.2019 14:44:38
Andreas
Hallo zusammen,
mein Problem:
Excel-Datei wird aufgerufen, UserForm CentroN startet sofort.
Wenn ich von der Userform aus, per Button eine Tabelle bspw. Deckblatt einblende und aktiviere, dann möchte ich, dass diese immer nach oben gescrollt angezeit wird.
Hierzu verwende ich den folgenden Code:
CentroN.Hide
Sheets("Deckblatt").Visible = True
Sheets("Deckblatt").Activate
Application.Goto ActiveSheet.Range("A1"), True
Funktioniert aber nicht.
Wenn ich dann noch einmal die Userform CentroN aufrufe und zum wiederholten male auf den Button Deckblatt drücke, dann funktioniert der Code.
Gleicher Button, gleicher Code - nur beim ersten male, wenn ich die Excel Datei neu geöffnet habe und die UserForm automatisch startet und auf irgendein Tabellenblatt per Button wechseln möchte, funtkioniert der Code nicht. Dann aber immer, ohne Ausnahme.
Bin etwas irritiert und ratlos.
was mache ich falsch ?

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
kann ich nicht bestätigen ...
08.11.2019 16:06:59
Matthias
Hallo,
bei mir wird das Blatt aktiviert und darin dann auch A1 markiert
Gruß Matthias
AW: In Tabell nach oben scrollen
08.11.2019 16:12:38
onur
"funtkioniert der Code nicht" ist Wischi-Waschi - Was funktioniert denn nicht? das Scrollen, das Blatt-Wechseln oder Beides nicht?
Wo steht der Code denn genau?
AW: In Tabell nach oben scrollen
08.11.2019 20:36:00
Andreas
Die Tabelle Deckblatt wird aufgerufen, aber das scrollen nach oben funktioniert nicht.
Ich habe einen Button "Deckblatt" auf einer Userform. Diese wird mit dem Öffnen der Excel Datei sofort gestartet / eingeblendet. Wenn ich dann über den Button "Deckblatt" auf die Tabelle Deckblatt wechseln möchte, dann funktioniert das scrollen nach oben nicht. D.h. ich muss dann jedes mal zuerst mal nach oben scrollen um Eingaben in die Tabelle vornehmen zu können.
Wohl gemerkt - das passiert nur direkt nach dem öffnen der Excel Datei und dem erstmaligen aufrifen eines Tabellenblattes (eigentlich egal welches. Wenn ich den Vorgang wiederhole (ohne die datei vorher wieder zu schließen), dann funtkioniert das scrollen, eagl wie oft ich das wiederhole.
Beim drücken des Buttons bspw. um die Deckblatt-Tabelle zu öffnen, steht ausschließlich der folgende Code:
CentroN.Hide
Sheets("Deckblatt").Visible = True
Sheets("Deckblatt").Activate
Application.Goto ActiveSheet.Range("A1"), True
Schließe die Userform, zeige die Tabelle an und aktiviere diese und scrolle dann nach oben.
Der exakt gleiche Code in einer anderen Excel datei - die ich mir zum Spaß jetzt mal erstellt habe, funktioniert aber.
Unterschied zwischen den Dateien?
Die Original datei umfasst fasst 4,8 MB, die TestDatei mit dem gleichen Code zum Testen 400kb
Wohlgemerkt:
Der Code funktioniert nur nicht nach dem dem öffnen der Datei und wenn er quasi das erste mal ausgeführt werden soll. Über die Userform zum Deckblatt und wieder zurück auf die Userform und dem erneuten drücken auf den exakt gleichen Button - dann geht es ?
Anzeige
AW: In Tabell nach oben scrollen
08.11.2019 20:39:07
onur
Noch einmal:
Wo steht der Code denn genau?
AW: In Tabell nach oben scrollen
08.11.2019 23:37:10
Andreas
Befehlschaltfläche (ActiveX Steuerelement) auf einer UserForm. Dort steht der Code.
In meiner Original Datei - 4,7 MB groß - genauso wie in meiner Test-Datei - 400kb klein.
Über die Befehlschaltfläche (auf der Userform), wird in beiden Dateien exakt der gleiche Code ausgeführt:
Private Sub cbDeckblatt_Click()
Application.ScreenUpdating = False
CentroN.Hide
Sheets("Deckblatt").Visible = True
Sheets("Deckblatt").Activate
Sheets("Deckblatt").Range("A5").Select
Application.ScreenUpdating = True
End Sub
Application.Goto ActiveSheet.Range("A1"), True
Ich habe jetzt zum testen den Code - um irgendwelche "Fehler zu vermeiden" - zuerst von meiner Original-Datei in die Testdatei kopiert und dann wieder zurück. Ergebnis - in meiner Test-Datei fehlerlos, in meiner Original-Datei nach dem Öffnen der Datei und dem erstmaligem ausführen kein scrollen. Wiederholtes ausführen wird der scroll Befehl ausgeführt.
Immer nur beim erstmaligem ausführen nach dem öffnen.
Anzeige
AW: In Tabell nach oben scrollen
08.11.2019 23:54:07
onur
Lass mal die blöden Application.ScreenUpdating...-Zeilen weg.
Was soll das überhaupt ?
AW: In Tabell nach oben scrollen
09.11.2019 00:20:52
Andreas
Application.ScreenUpdating gelöscht
Keine Änderung - gleiches Verhalten.
Hat das vielleicht irgendetwas mit der "Größe" der Userform zu tun ? Diese friert ab und zu völlig motivationslos einfach ein, wenn ich diese öffne. Wie ein Blinker beim Auto :-)
Aufruf der Userform durch:
CentroN.Show
Es wird dabei keinerlei Code beim öffnen der Userform erzeugt.
Auf der Userform sind 33 Befehlsschaltflächen sowie 42 Checkboxen (beides als ActiveX Steuerelemente).
Das ist eine reine Navigations-Userform (es werden - wie erwähnt - keinerlei Felder o.ä. gefüllt, nix erzeugt - nur aufgerufen und dann ab über den nächsten Button, auf das nächste Tabellenblatt).
Reine Verzweiflungsfrage :-)
Der Code ist ja an sich pillepalle
Private Sub cbDeckblatt_Click()
CentroN.Hide
Sheets("Deckblatt").Visible = True
Sheets("Deckblatt").Activate
Sheets("Deckblatt").Range("A5").Select
Application.Goto ActiveSheet.Range("A1"), True
End Sub
Geht halt nicht nach dem öffnen der datei. Erst wieder zurück auf die Userform und wieder auf den gleichen Button drauf, dann checkt Excel wohl den pillepalle Code.
Beim öffnen von excel, wird code generiert (hat aber eigentlich nix mit der Userform zu tun).
Folgender Code wird beim öffnen von excel ausgeführt:
Private Sub Workbook_Open()
Dim Pfad1 As String
Dim AktivPfad1 As String
Sheets("Start").Unprotect Password:="formatieren"
If Sheets("Start").Range("A103") = 1 Then
GoTo theend:
Else
Pfad1 = ThisWorkbook.Path
Sheets("Start").Range("A102").Value = Pfad1
Sheets("Start").Range("A103").Value = 1
End If
theend:
Sheets("Start").Visible = True
Sheets("Start").Activate
Sheets("Start").Range("W19").Select
CentroN.Show
Sheets("Start").Protect Password:="formatieren", DrawingObjects:=True, Contents:=True,  _
Scenarios:=True
Sheets("Start").EnableSelection = xlUnlockedCells
End Sub

Anzeige
AW: In Tabell nach oben scrollen
09.11.2019 00:01:22
Andreas
Befehlschaltfläche (ActiveX Steuerelement) auf einer UserForm. Dort steht der Code.
In meiner Original Datei - 4,7 MB groß - genauso wie in meiner Test-Datei - 400kb klein.
Über die Befehlschaltfläche (auf der Userform), wird in beiden Dateien exakt der gleiche Code ausgeführt:
Private Sub cbDeckblatt_Click()
Application.ScreenUpdating = False
CentroN.Hide
Sheets("Deckblatt").Visible = True
Sheets("Deckblatt").Activate
Sheets("Deckblatt").Range("A5").Select
Application.ScreenUpdating = True
End Sub
Application.Goto ActiveSheet.Range("A1"), True
Ich habe jetzt zum testen den Code - um irgendwelche "Fehler zu vermeiden" - zuerst von meiner Original-Datei in die Testdatei kopiert und dann wieder zurück. Ergebnis - in meiner Test-Datei fehlerlos, in meiner Original-Datei nach dem Öffnen der Datei und dem erstmaligem ausführen kein scrollen. Wiederholtes ausführen wird der scroll Befehl ausgeführt.
Immer nur beim erstmaligem ausführen nach dem öffnen.
Anzeige
AW: In Tabell nach oben scrollen
09.11.2019 00:03:20
onur
Wieso wiederholst jetzt deinen Post von 23:37 ?
AW: In Tabell nach oben scrollen
09.11.2019 10:05:47
Andreas
Eigentlich hatte ich dir folgendes gesendet:
Application.ScreenUpdating gelöscht
Keine Änderung - gleiches Verhalten.
Hat das vielleicht irgendetwas mit der "Größe" der Userform zu tun ? Diese friert ab und zu völlig motivationslos einfach ein, wenn ich diese öffne. Wie ein Blinker beim Auto :-)
Aufruf der Userform durch:
CentroN.Show
Es wird dabei keinerlei Code beim öffnen der Userform erzeugt.
Auf der Userform sind 33 Befehlsschaltflächen sowie 42 Checkboxen (beides als ActiveX Steuerelemente).
Das ist eine reine Navigations-Userform (es werden - wie erwähnt - keinerlei Felder o.ä. gefüllt, nix erzeugt - nur aufgerufen und dann ab über den nächsten Button, auf das nächste Tabellenblatt).
Reine Verzweiflungsfrage :-)
Der Code ist ja an sich pillepalle
Private Sub cbDeckblatt_Click()
CentroN.Hide
Sheets("Deckblatt").Visible = True
Sheets("Deckblatt").Activate
Sheets("Deckblatt").Range("A5").Select
Application.Goto ActiveSheet.Range("A1"), True
End Sub
Geht halt nicht nach dem öffnen der datei. Erst wieder zurück auf die Userform und wieder auf den gleichen Button drauf, dann checkt Excel wohl den pillepalle Code.
Beim öffnen von excel, wird code generiert (hat aber eigentlich nix mit der Userform zu tun).
Folgender Code wird beim öffnen von excel ausgeführt:
Private Sub Workbook_Open()
Dim Pfad1 As String
Dim AktivPfad1 As String
Sheets("Start").Unprotect Password:="formatieren"
If Sheets("Start").Range("A103") = 1 Then
GoTo theend:
Else
Pfad1 = ThisWorkbook.Path
Sheets("Start").Range("A102").Value = Pfad1
Sheets("Start").Range("A103").Value = 1
End If
theend:
Sheets("Start").Visible = True
Sheets("Start").Activate
Sheets("Start").Range("W19").Select
CentroN.Show
Sheets("Start").Protect Password:="formatieren", DrawingObjects:=True, Contents:=True,  _
Scenarios:=True
Sheets("Start").EnableSelection = xlUnlockedCells
End Sub

Anzeige
AW: In Tabell nach oben scrollen
09.11.2019 10:32:14
Andreas
... lass es gut sein, ich werde die komplette Userform löschen und neu Stück für Stück aufbauen ... am Code kann es ja nicht liegen - auch nicht am Code beim Öffnen der Excel Datei mit Aufruf der besagten Userform .... meines Erachtens auch nicht an der "Menge" der "Steuerelemente" auf der Userform .... hat wahrscheinlich - die Userform - nur irgendwie einen "hau weg" ...
Danke für deine schnellen Antworten und deiner Mühe ...

32 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige