Ich bin ziemlich neu hier und bräuchte mal eure Hilfe . Und zwar geht es darum , wenn ich in einer Spalte (z.B A8) das Datum einfüge möchte ich gerne den Wert aus Zelle (K3) ändert sich täglich , in Zelle (I8 ) übernehmen und soll sich dann auch nicht mehr ändern . Das gleiche soll dann auch mit (A9 =Datum ) ist gleich ( I9 ) fixierter Wert aus Zelle ( K 3 ), ja uns so weiter . Kann mir da vielleicht einer weiter helfen . Vielen Dank im vorraus !
20.10.2018, 19:04 (Dieser Beitrag wurde zuletzt bearbeitet: 20.10.2018, 19:04 von schauan.)
Hallöchen,
mit dem Code holst Du in die jeweilige Nachbarzelle der Spalte A den Inhalt von K3, wenn Du dort in A irgendwas eingibst oder änderst. Mit dem Code ist es auch egal, ob Du ein Datum eingibst, das wird nicht geprüft. Könnte man aber auch abfangen. Eine Änderung wäre auch das Löschen des Inhaltes einer Zelle in Spalte A. Könnte man auch prüfen und dann die Nachbarzelle Leeren.
Code:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Columns(1)) Is Nothing And Target.Cells.Count = 1 Then Target.Offset(, 1) = Cells(3, 11).Value End Sub
Der Code kommt in das Codemodul des betreffenden Tabellenblattes.
. \\\|/// 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 • joepin7
Wie schon beschrieben möchte ich gerne wenn ich in Spalte (A) das Datum eingebe automatisch der Wert von (K3) in die Spalte (I )und der Wert (L3) in die Spalte (J) eingfügt wird . Diese dürfen sich dann auch nicht mehr ändern . Die Zellen (K3 und L3 ) ändern sich täglich .
Wäre wirklich supi wenn mir da einer mir auf die Sprünge hilft
Wenn Du meinen Ansatz anschaust, der die Spalte B befüllt, dann musst Du für I die Spaltennummer ändern. Die Aufgabe war ja, wenn in A was passiert, dann tu was...
If Not Intersect(Target, Columns(1)) Is Nothing And Target.Cells.Count = 1 Then Target.Offset(, 1) = Cells(3, 11).Value
Wenn ist der Teil mit dem If und dann der Teil nach dem Then. Wo was passiert, merkt sich Excel über den Target. Columns(1) wäre die Spalte 1, also passt das zu A.
Im Then - Teil wird was aus K3 in die Spalte B eingetragen. Ist wie bei einer Gleichung in Mathe.
Was ist dort nun K3 und was die Zelle in Spalte B? K3 ist einfach zu finden. Da steht was mit 3, und wenn 3 die Zeile ist müsste 11 die Spalte sein.
Cells(3, 11).Value
Wenn Man das Alphabet durchzählt, ist K der 11. Buchstabe. Passt also. Der Teil vor dem = müsste nun das Ziel in Spalte B sein.
Da nur was passieren soll, wenn der Target die Spalte 1 / A ist - siehe oben - müsste Offset(, 1) dann eine Spalte weiter sein, denn es wird ja in B was eingetragen. Spalte I wäre nun aber nicht 1 weiter, sondern 8 weiter (i ist der 9. Buchstabe)
Also, könnte man es dort mit … Offset(, 8) probieren für Ix
L3 und J wäre dann nach gleichem Prinzip programmierbar. Das kann man hier einfach mit Doppelpunkt getrennt dahinter schreiben.
If Not Intersect(Target, Columns(1)) Is Nothing And Target.Cells.Count = 1 Then Target.Offset(, 8) = Cells(3, 11).Value: Target.Offset(, 9) = Cells(3, 12).Value
. \\\|/// 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 • joepin7