Supportnet / Forum / Tabellenkalkulation
befehl
Frage
Hallo zusammen,
könnte mir jemand folgenden excel befehl erklären ?
Application.Goto Range(ButtonName + "!" + ButtonName + "_top")
danke schön !
Antwort 1 von CaroS
Hallo Pulle,
ja, die VBA-Hilfe unter dem Stichwort Goto-Methode und Du selbst, denn nur Du weißt, welchen Wert die Variable ButtonName (und evtl. eine zweite Variable TabellenName) hat, denn wahrscheinlich sollte es
Kurz gesagt, Du aktivierst das Ding und springst zu dem Ding, das mit ButtonName + "!" + ButtonName + "_top" bezeichnet ist. Es handelt sich dabei wahrscheinlich um ein Toolbox-Steuerelement, jedenfalls um ein Ding, das die Eigenschaft "_top" besitzt. Dieses "_top" wird aktiviert/eingestellt/aufgerufen, so als ob man drauf geklickt hätte. (Wenn das Ding eine gewöhnliche Schaltfläche wäre, würde sie gedrückt werden, ist es aber sicher nicht.)
Gruß,
CaroS
ja, die VBA-Hilfe unter dem Stichwort Goto-Methode und Du selbst, denn nur Du weißt, welchen Wert die Variable ButtonName (und evtl. eine zweite Variable TabellenName) hat, denn wahrscheinlich sollte es
Range(TabellenName + "!" + ButtonName + "_top")
heißen, und was sich für ein für andere (i]unbekanntes Ding dahinter verbirgt.Kurz gesagt, Du aktivierst das Ding und springst zu dem Ding, das mit ButtonName + "!" + ButtonName + "_top" bezeichnet ist. Es handelt sich dabei wahrscheinlich um ein Toolbox-Steuerelement, jedenfalls um ein Ding, das die Eigenschaft "_top" besitzt. Dieses "_top" wird aktiviert/eingestellt/aufgerufen, so als ob man drauf geklickt hätte. (Wenn das Ding eine gewöhnliche Schaltfläche wäre, würde sie gedrückt werden, ist es aber sicher nicht.)
Gruß,
CaroS
Antwort 2 von Pulle
Hallo CaroS, danke schön erstmal....!!!
das ganzen ist stibitzt und ich versuche da durchzusteigen....
die prozedur sieht so aus:
Sub auswahl_vertrag()
Dim ButtonName As String
ButtonName = Application.Caller
Application.Goto Range(ButtonName + "!" + ButtonName + "_top")
´ActiveWindow.FreezePanes = False
ActiveSheet.Protect
´ActiveWindow.FreezePanes = True
Application.Goto Range(ButtonName + "!" + "B16")
End Sub
durch aktivieren in einem tabellenblatt soll dann in ein anderes gesprungen werden in dem eine zelle den namen _top hat.
das ganzen ist stibitzt und ich versuche da durchzusteigen....
die prozedur sieht so aus:
Sub auswahl_vertrag()
Dim ButtonName As String
ButtonName = Application.Caller
Application.Goto Range(ButtonName + "!" + ButtonName + "_top")
´ActiveWindow.FreezePanes = False
ActiveSheet.Protect
´ActiveWindow.FreezePanes = True
Application.Goto Range(ButtonName + "!" + "B16")
End Sub
durch aktivieren in einem tabellenblatt soll dann in ein anderes gesprungen werden in dem eine zelle den namen _top hat.
Antwort 3 von CaroS
Hallo Pulle,
also die Zelle hat ganz bestimmt den zusammengesetzten Namen ButtonName + "_top" und nicht nur "_top", nämlich alles das zusammen, was hinter dem "!" steht. Ob es eine Zelle ist - vielleicht ? - das Range deutet darauf hin, aber vielleicht ist es auch etwas anderes.
Jedenfalls ist jetzt ungefähr klar, was in ButtonName steht: ButtonName = Application.Caller, also ein Name von irgendwas, womit man etwas anders starten kann, das kann alles mögliche sein. Ansonsten siehe VBA-Hilfe zu Application.Caller, Caller-Eigenschaft ( - stibitzen ist erlaubt, VBA-Hilfe benutzen auch).
Gruß,
CaroS
also die Zelle hat ganz bestimmt den zusammengesetzten Namen ButtonName + "_top" und nicht nur "_top", nämlich alles das zusammen, was hinter dem "!" steht. Ob es eine Zelle ist - vielleicht ? - das Range deutet darauf hin, aber vielleicht ist es auch etwas anderes.
Jedenfalls ist jetzt ungefähr klar, was in ButtonName steht: ButtonName = Application.Caller, also ein Name von irgendwas, womit man etwas anders starten kann, das kann alles mögliche sein. Ansonsten siehe VBA-Hilfe zu Application.Caller, Caller-Eigenschaft ( - stibitzen ist erlaubt, VBA-Hilfe benutzen auch).
Gruß,
CaroS