Wert automatisch einfügen und dann fixieren
#1
Hallo Leute

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 !

Jörg
Top
#2
Das geht mit VBA, nur ist dafür ein Nachbau deiner Datei notwendig.. Bitte lade eine Bsp. Datei hoch!
Top
#3
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:
  • joepin7
Top
#4
Hallo

So hier nun mal mein Problem im Anhang

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

Besten Dank schon mal im vorraus


Angehängte Dateien
.xlsx   beispiel .xlsx (Größe: 11,2 KB / Downloads: 1)
Top
#5
Hallöchen,

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:
  • joepin7
Top
#6
Hallo


Ah jetzt verstehe ich das , alles klar .VBA ist  Neuland für mich und noch einfach unverständlich . Hoffe ich steige irgendwann dahinter

Hab recht herzlichen Dank dafür , werd es gleich probieren und hoffe es wird meine Arbeit erleichtern

Jörg
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste