Wenn ich das Tabellenblatt wechsle und wieder auf mein Originaltabellenblatt zurückkehre, erscheint die Fehlermeldung: Laufzeitfehler '50290': Anwendungs- oder objektdefinierter Fehler. Der Debugger verweist auf die Zeile "ActiveSheet.Shapes("TextBox1").Top = Range("F" & Zeile).Top", welche sonst funktioniert.
Ich habe versucht, vor dem den o.g. Aufruf folgende Abfrage einzubauen: "If ActiveSheet.Name = "01_Meine_Original_Test_Tabelle" Then begin ...". Hier erscheint die Compiler-Fehlermeldung "Sub oder Funktion nicht definiert".
ich stecke fest - der Laufzeitfehler '50290' nach dem Wechsel auf ein anderes Tabellenblatt und zurück besteht noch. Auch Boris´Tip wurde (leider erfolglos) versucht.
Falls sich jemand mal den Anhang anschauen könnte ...
VG!
PS: Ein weiteres Problem tritt sporadisch auf: Prozedur: Aufruf des Workbooks und, ohne Tabellenblattwechsel, scrollen. Sobald der Zeilen-Scrollwert größer '15' ist, passiert - nichts mehr. Liegt der Wert darunter, geht es wieder. Hat das evtl. schon jemand so gesehen? Wie gesagt, passiert nicht immer.
(11.02.2022, 13:07)RPP63 schrieb: Da das alles nicht profan ist, wiederhole ich mich. Ist es das wert?
Was willst Du wirklich bezwecken? Zeigen, dass Du ein toller Hecht bist? Das kannst Du auf anderen Gebieten sehr wahrscheinlich viel besser! Nutze Excel als das, für das es programmiert wurde und nicht als Klicki-Bunti …
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)
so funktionierts. Wenn Du die Zahlen noch in der Tabelle willst, füge es im Makro NaLos ein.
Code:
Dim Zeile As Long
Private Sub Frame1_Layout() Dim Spalte As Long Dim Zeile_Buffer As Long If ActiveSheet.Name = "Tabelle1_Test" Then MsgBox "Scroll " & ActiveWindow.VisibleRange.Address Zeile = ActiveWindow.VisibleRange.Row + 3 If Zeile < 1 Then MsgBox "Zeilennummer kleiner 1" On Error Resume Next NaLos End If End Sub
Private Sub NaLos() Set zelle = Worksheets("Tabelle1_Test") Set zelle = zelle.Shapes("TextBox1") zelle.Top = Range("F" & Zeile).Top End Sub
Private Sub Worksheet_Activate() NaLos End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • Wanderfalke
@Kuwer: Danke für deinen Tip. Ich habe mehrfach versucht, das umzusetzen. Dies ist mir nicht gelungen. Könntest du evtl., basierend auf Fenneks Projekt, ein Sample zum verifizieren erstellen?
Grundsätzlich stellt sich mir die Frage, weshalb der Aufruf der TextBox-Komponente auf dem zweiten Tabellenblatt den Fehler verursacht. Und, ganz seltsam, wenn ich vom zweiten zurück auf das erste Tabellenblatt gehe und ich die 50290er-Fehlermeldung mit "Beenden" quittiere, funktioniert das Scrollen auf dem ersten Tabellenblatt wieder problemlos... Bis zum nächsten Wechsel .....
VG!
PS: @RPP63: Ich bin übrigens für sachdienliche Unterstützung sehr dankbar. Der Rest kann gerne selbst entsorgt werden.
Hallöchen, Im Prinzip kann es an der internen Reihenfolge der Aktionen / Ereignisse liegen. Unter 365 hatte das bei mir ja was gebracht. Irgendwie schien es hier so als wäre das Blatt noch nicht 100% aktiv wenn das Frame - Ereignis eintritt. Man kann das auch testen indem man bei den verschiedenen Ereignissen mal nur eine Meldung ausgibt.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • Wanderfalke