online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Hoax vom 05.10.2022, 07:36 Options

Lösung

von Zelle in Zelle kopieren, aber nur überschreiben,wenn Bedingung erfüllt

Hallo Forum,

gerne hätte ich es so:

wenn ich in M9 ein Datum schreibe, so soll dieses Datum automatisch in T9 kopiert werden, wenn M9 gelöscht wird, so soll das Datum in T9 erhalten bleiben. Jedoch wenn in M9 ein neues Datum geschrieben wird, so soll das Datum in T9 überschrieben werden. Diese Funktion soll sich ab der Zeile 9 für Reihe M und T abwärts abspielen.

Da ich keinen Plan von VBA hab und diese Aufgabe mich Tage kosten würde, oder unlösbar wäre, fänd ich es schön, wenn das was das Programm da macht kurz erläutert wird.


Mit besten Grüßen

Hajo


Antwort schreiben

Antwort 1 von rainberg vom 05.10.2022, 08:17 OptionsLösung

Lösung
Hallo Hajo,

so müsste es funktionieren

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Not Intersect(Target, Range("M9:M65536")) Is Nothing Then
        If IsDate(Target.Value) Then Target.Offset(0, 7).Value = Target.Value
    End If
    Application.EnableEvents = True
End Sub


Gruss
Rainer

Antwort 2 von Anwender vom 05.10.2022, 14:35 Options

Da es bereits in diesem blatt mehrere Makros gibt, tritt folgender Fehler auf:

Fehler beim Kopilieren

Mehrdeutiger Name: Worksheet_Change


Makros:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 13 And Target.Row >= 8 And Target.Row <= 1000 And IsDate(Target) Then
With Worksheets("Legende")
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 13)), _
.Cells(.Rows.Count, 13).End(xlUp).Row, .Rows.Count) + 1
Rows(Target.Row).Copy .Cells(LoLetzte, 1)
Cells(Target.Row, 10) = ""
Cells(Target.Row, 11) = ""
Cells(Target.Row, 13) = ""
Cells(Target.Row, 14) = ""
Cells(Target.Row, 15) = ""
Cells(Target.Row, 16) = ""
End With
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim varCol: varCol = "J:M"


' Wenn es nur eine best. Spalte sein soll:
' Eine der nachfolgenden Zeilen mit der gewünschten Spalte bestücken und einkommentieren!

' varCol = "I"
' varCol = "J"

If Target.Cells.Count = 1 Then
If varCol = "" Then varCol = Target.Column
If Not Intersect(Target, Columns(varCol)) Is Nothing Then
Cancel = True
Target.Value = Date
End If

End If

End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("M9:M65536")) Is Nothing Then
If IsDate(Target.Value) Then Target.Offset(0, 7).Value = Target.Value
End If
Application.EnableEvents = True
End Sub




Was kann man da machen?

Antwort 3 von Anwender vom 05.10.2022, 16:20 Options

OK, ich habs!

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("M9:M65536")) Is Nothing Then
If IsDate(Target.Value) Then Target.Offset(0, 7).Value = Target.Value
End If
Application.EnableEvents = True
If Target.Column = 13 And Target.Row >= 8 And Target.Row <= 1000 And IsDate(Target) Then
With Worksheets("Legende")
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 13)), _
.Cells(.Rows.Count, 13).End(xlUp).Row, .Rows.Count) + 1
Rows(Target.Row).Copy .Cells(LoLetzte, 1)
Cells(Target.Row, 10) = ""
Cells(Target.Row, 11) = ""
Cells(Target.Row, 13) = ""
Cells(Target.Row, 14) = ""
Cells(Target.Row, 15) = ""
Cells(Target.Row, 16) = ""
End With
End If
End Sub

Antwort 4 von Hoax vom 05.10.2022, 18:37 Options

Hallo Rainer,

vielen Dank für die schnelle Antwort, funktioniert fabelhaft!


Gruß

Hajo

Ähnliche Themen

Inhalt von einer Zelle in andere Zelle schreiben
Melina  19.09.2009 - 342 Hits - 2 Antworten

vba: zelle oberhalb der aktiven zelle suchen
EKG  21.11.2009 - 219 Hits - 3 Antworten

vba: zelle oberhalb der aktiven zelle suchen
EKG  24.11.2009 - 230 Hits - 9 Antworten

Zeile kopieren wenn Bedingung erfüllt ist
ACR  31.03.2010 - 293 Hits - 6 Antworten

Zeile in neues Blatt kopieren, wenn Bedingung erfüllt
Hoax  16.09.2010 - 214 Hits - 12 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026