AW: Bei Klick Zellinhalte übertragen
07.12.2021 05:45:56
Oberschlumpf
Moin Reiner!
YES, genau so!
"Ein Bild sagt sehr oft viel mehr als 1000 Wörter!"
Diese Redewendung passt hier "wie die Faust aufs Auge" (schon wieder ne Redewendung :-) )
Ich will sagen:
Zuerst las ich den neuen Text als deinen erneuten Erklärversuch - und hätte wieder viele Fragen gehabt, weil eben (für mich) noch immer nicht alles eindeutig erklärt war...
Aber dann sah ich mir deine neue Bsp-Datei an.
...BÄMM!...genau so!....mit nur 1 Blick wusste ich sofort, was du vorher versucht hattest zu erklären!
So, hier nun meine neue Idee zu deiner neuen Frage:
https://www.herber.de/bbs/user/149627.xlsm
Darin wird nun berücksichtigt, ob in "Basiserhebung" oder "Dienstleistung" in Spalte A nur EINE Zelle angeklickt wurde.
Im nächsten Schritt wird in "BA" geprüft, ob in Spalte A oder in B der jeweils letzte Eintrag steht - davon abhängig - wird als nächste freie Zeile die letzte benutzte Zeile aus A+1 oder aus B+1 verwendet.
Eine Besonderheit: Ich hab den Code in ein allgemeines Modul "Modul1" ausgelagert.
Warum? Weil sich der Code, egal ob in "Basiserhebung" oder "Dienstleistung" ausgeführt, nur unwesentlich ändert.
Eigentlich stand der Code ja nur im Worksheet_SelectionChange-Ereignis von "Basiserhebung" (weil deine 1. Frage sich auch nur auf "Basiserhebung" bezog)
Du hattest dann versucht, den selben Code auch in "Dienstleistung" einzutragen - grundsätzlich richtig; in beiden Codes hätte nur noch das Ermitteln der neuen, freien Zeile in "BA" stehen müssen
Na gut, auch DAS wäre kein Problem - aber - dann hättest du - zweimal - fast den selben Code gehabt, der dann auch immer - zweimal - hätte angepasst werden müssen, wenn du noch weitere Änderungsideen gehabt hättest.
Hast du es bis hierhin verstanden? (ein "Nein" wäre jetzt die falsche Antwort :-)))....aber dann frag einfach noch mal)
Ich hab das Ganze ausgelagert, weil du ab jetzt nur noch EIN "Codepaket" hast, welches du anpassen müsstest, wenn du weitere Ideen hättest...
Aufgerufen wird der Code weiterhin im Worksheet_SelectionChange-Ereignis in "Basiserhebung" ODER "Dienstleistung" mit dem Befehl:
sbBasis_oder_Dienst pstrBlatt, Target.Address, Target.Column, "A" 'bei "Basiserhebung"
sbBasis_oder_Dienst pstrBlatt, Target.Address, Target.Column, "B" 'bei "Dienstleistung"
Wie du siehst, ist nur der letzte Parameter unterschiedlich.
Nun denn, so hast du vielleicht noch was Neues zum Lernen und Verstehen, wenn du das mit Auslagern von Codes noch nicht kennst.
Konnte ich denn helfen, was deine neue Frage betrifft?
Ciao
Thorsten