Vielleicht sollte ich etwas konkreter werden: Wie sehe zum
Beispiel der Programmtext aus, wenn bei Eingabe in Zelle a1
der doppelte Wert dieser Zelle in eine andere Zelle übertragen
werden soll (sagen wir B1)?
Danke im Voraus!
Hallo Honigschlecker,
dafür brauchst Du doch gar nicht programmieren…
Es reicht, in Zelle B1 eine Formel einzugeben, die auf die aktuelle Zelle verweist - dann wird der Wert immer automatisch aktualisiert! Beispiel: „=$A$1 * 2“
Wenn’s denn unbedingt per Programmcode sein soll (notwendig z.B., wenn die Eingabe in verschiedenen Zellen möglich sein soll):
Im Ereignis Change des Arbeitsblattes mußt Du prüfen, ob Deine Zelle betroffen ist - falls ja, kannst Du den Wert der Zielzelle (hier B2) neu berechnen und zuweisen. (Das macht Excel ganz automatisch, wenn man eine Formel direkt in die Zelle schreibt)
Du kannst diese Zuweisung auch IMMER machen (bei so einer einfachen Funktion kein Problem) - dann wird die Berechnung halt auch (unnötigerweise) dann ausgeführt, wenn andere Zellen sich ändern!
Die Zuweisung könnte dann ungefähr so aussehen:
ActiveSheet.Cells(1, 2) = ActiveSheet.Cells(1, 1) *2
Noch ein Tip:
Das Verständnis der verschiedenen Ereignisse ist für eine gute Programmierung extrem wichtig. Oftmals kommen für eine Programmierung diverse Ereignisse in Frage. Schau Dir mal in der Online-Hilfe jedes Ereignis an und mache ein paar Tests. das ist zwar viel Arbeit, aber wenn Du häufiger programmieren willst, wohl unumgänglich und sehr lehrreich!
Viel Spaß!
Kurt
http://www.Fortwaengler.de