Clever-Excel-Forum

Normale Version: Zeile kopieren bei Zelländerung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Wollte jetzt kein neuen Thread aufmachen  das Thema noch gut hier reinpasst.

Ich hab versucht den Code abzuändern für ein anderes Projekt aber iwie will das nicht funktionieren
hab mal eine Datei mit meinem Vorhaben mit beigepackt

evtl liegt es an der Unterschiedlichen Datumsformatierung aber die muss so beibehalten werden wie in der Bsp datei

wie muss ich den code abändern, dass er in dem neuen Fall auch funktioniert
[attachment=33045]
Moin,

wie du bemerkt hast, habe ich diesen Beitrag als neues Thema von deinem Thread https://www.clever-excel-forum.de/Thread...#pid202585 abgetrennt. Dieser ist soweit abgeschlossen; eine Fortführung mit anderem Inhalt bläht die Themen unnötig auf und Suchende finden oftmals nicht das Gewünschte.

Bitte vergib noch einen aussagekräftigen Titel. Falls du nicht (mehr) editieren kannst, schreib ihn in einen Beitrag; ich erledige das dann.
Ok ich dachte ich mach das mal so weil mir schonmal in einem anderem Forum suggeriert wurde warum ich denn einen neuen Thread aufmache bei fast gleichem Thema Tongue
Iss ja nicht schlimm Thema mhh eigentlich das Selbe evtl "Zeile kopieren bei Zelländerung"
Keiner ne Idee ?

der code aus der das ähnliche macht  wäre
[quote pid='202652' dateline='1593675520']
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim a As Long
  If Target.Address <> "$A$2" Then Exit Sub
  a = Worksheets("Daten Gesamt").Columns("C").Find(Target.Text, LookIn:=xlValues).Row
  Range("K2:K22").Copy
  Worksheets("Daten Gesamt").Range("c" & a).Offset(, 1).PasteSpecial Paste:=xlPasteValues, Transpose:=True
End Sub

[/quote]
aber lässt sich iwie in dem fall nicht anwenden
Hab jetzt selber noch was rum probiert aber komme nicht weiter

Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Long

If Intersect(Target, Range("g6:g100000")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target >= 1 Then

End If
If Target.Value >= 1 Then
'a = Worksheets("Datenbank").Columns("A").Find(Target.Text, LookIn:=xlValues)
Range("c6:g6").Copy
MsgBox "kopiert"
End If
End Sub


Was ich nicht so ganz verstehe wenn ich die rot markierte zeile aktiviere fünktioniert zumindestens das kopieren bis ich eine zahl größer 30 in die spalte g eingebe
anbei nochmal die bsp datei mit dem code

glaube auch nicht wenn ich eine zahl kleiner 30 eingebe das er mir da auf den wert in spalte a schaut
evtl hat ja doch nen VBA Profi mal einen Augenblick Zeit sich das mal anzuschauen
Hallo,

die Find-Methode liefert dir ein Range-Objekt zurück. Für die Dimensionierung dieser Variable benötigst Du Set.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Range

If Intersect(Target, Range("g6:g100000")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target >= 1 Then

End If
If Target.Value >= 1 Then
Set a = Worksheets("Datenbank").Columns("A").Find(Target.Text, LookIn:=xlValues)
Range("c6:g6").Copy
MsgBox "kopiert"
'Worksheets("Kopie").Range("c6:g6").PasteSpecial Paste:=xlPasteValues
End If
End Sub
ok das kopieren klappt schonmal beim einfügen auf dem anderen blatt meckert er noch aber das bekomm ich schon irgendwie raus nur welche variable oder welchen befehl brauch ich wenn ich jetzt den bereich kopieren will in der Zeile wo ich die Änderung vornehme plus den datumsvergleich