Zeile einer Befehlsschaltfläche zum Weiterverwende
19.02.2015 15:02:21
Andreas
ich habe heute schon viel zu viel Zeit damit verbracht, eine Lösung für mein Problem zu finden, ich hoffe, ihr könnt mir weiterhelfen:
Ich habe eine ActiveX-Befehlsschaltfläche (sog. Commandbutton1) in meinem Excel-Workbook. Ich benutze den Knopf ständig, um Zahlen aus einer bestimmten Zeile(die Zeile, in der auch der Knopf angeordnet ist) von einem Workbook in ein anderes zu kopieren, das funktioniert wunderbar. Allerdings füge ich in dem Sheet, auf dem der Commandbutton1 ist, öfters mal eine Zeile ein und dann muss ich jedes mal im VBA-Code die Zeilennummer nachhjustieren, z.B. von 144 auf 145 ändern usw.
Frage: Wie kann ich die Zeilennummer des Commandbuttons1 auslesen und z.B. in eine Variable speichern, damit der Commandbutton1 immer seinen Zweck erfüllt und er immer genau die Zahlen aus der Zeile kopiert, in der er selbst sich gerade befindet.
Ich habe schon viel probiert mit "Shapes(Application.Caller).TopLeftCell.Row" etc. aber das funktioniert nicht. "Shapes(9).TopLeftCell.Row" (die "neun" habe ich nur durch Probieren herausgefunden) hingegen funktioniert wunderbar. Ich benutze den Commandbutton1 aber in verschiedensten Workbooks und die Zahl "9" funktioniert dementsprechend nicht überall.
Ich habe wirklich dutzende Foren gefunden, in denen Probleme mit "Application.Caller" diskutiert wurden, aber so richtig konnte keiner mal eine grundständige Erklärung/Lösung für das Problem bringen.
Also meine Bitte: Bitte erklärt mir Schritt für Schritt ausführlich, wo ich was reinschreiben muss. Ich habe schon von Klassenmodulen, Modulen etc. gelesen und auch Codeschnippsel gefunden, in denen die ersten und letzten Zeilen weggelassen wurden, sowas ist für Anfänger dann nur schwer umzusetzen. Meines Problems Lösung kann ja im Grunde nicht so schwer sein.
Für jede Hilfe dankbar!
Andreas