also ich für mich habe festgestellt, dass in 99,9% der Fälle, wenn Excel nicht das macht was ich will, das Problem vor dem Bildschirm sitzt.
Wie gesagt - das beziehe ich auf mich!
Nachfolgend mal eine Beispieldatei mit geändertem Code: :21: [attachment=28043]
Wie du am Beispiel siehst - der Code steht woanders (unter DieseArbeitsmappe). Und gilt nun für alle Tabellenblätter! Das kann natürlich angepasst werden für bestimmt Tabellenblätter.
Der Code im Tabellenblatt muss dann natürlich rausgelöscht werden!
Jetzt wird der Wert auch anders gespeichert. Du musst jetzt nur noch festlegen, was passieren soll, wenn K131 erreicht wird.
Dein Code funktioniert nicht (so, wie Rainer es gern hätte)! Lösche zum Testen einfach mal den Gesamten Bereich K8:K131.
Hallo Rainer,
probiere es mal mit folgendem Code (als Ersatz des Codes von Case):
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) On Error GoTo Fin Application.EnableEvents = False With Target If .Address = "$X$140" Then If Len(.Value) Then Sh.Range("K8:K131").SpecialCells(xlCellTypeBlanks).Cells(1).Value = .Value .Activate .Value = "" .NumberFormat = "General" End If End If End With Fin: Application.EnableEvents = True If Err.Number <> 0 Then MsgBox "Error: " & Err.Number & " " & Err.Description End Sub
Leider funktionieren beide Codes nicht. Das Datum kann ich eintragen und es bleibt auch stehen. Nur es wird nicht übertragen, weder an die Wunschposition noch ganz unten in Spalte K...
(05.12.2019, 10:40)Rainer schrieb: Das ist echt zum Verzweifeln. Ich habe schon echt ein schlechtes Gewissen euch hier so zu beschäftigen...
dann lade doch bitte eine Datei mit Deinem momentanem Stand hoch! Es muss ja nicht die originale sein. Erstelle doch einfach eine neue leere Datei und versuche es darin. Sollte es nicht klappen, lade diese leere Datei, in der nur das Makro enthalten ist, als Attachment hoch.
Ich habe dort die Eingabezelle wie in der anderen Datei in X140 angelegt, ebenso den Ausgabebereich K8-K131. Darunter habe ich in Spalte K wie in der anderen Datei einige Textzellen eingetragen und dann das Makro angelegt. Das Ergebnis ist wie in der Hauptdatei. Datum kann eingetragen werden und bleibt auch stehen, aber es wird nichts übertragen...
der Code gehört in das VBA-Modul DieseArbeitsmappe! Das hatte Case Dir in #31 auch geschrieben und in seiner Beispieldatei ist sein Code auch dort. Mein Code muss also auch da rein. Das ist deshalb, damit es in allen Arbeitsblättern identisch funktioniert.
wenn du mir jetzt noch verrätst wo ich dieses das VBA-Modul DieseArbeitsmappe finde, dann kann ich das mal versuchen...
In deiner Datei habe ich eben mal ein Datum eingegeben. Das wird korrekt in K8 übertragen, verschwindet dann aber nach Enter in der Eingabezelle. Weitere Datums werden ebenfalls korrekt übertragen...
im Bild siehst Du (blau markiert), wo sich das Modul DieseArbeitsmappe "versteckt". Im Code ist die Zeile rot umrandet, welche dafür verantwortlich ist, dass die Eingabezelle wieder geleert wird. Wenn Du das nicht möchtest, lösche diese Zeile. Dieses Thema hattest Du mit Marcus auch schon durchgekaut.