Clever-Excel-Forum

Normale Version: Ordnen von Werten im neuen Tabellenblatt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Einen schönen guten Abend an alle Exelfreunde,
Ich habe einen Wunsch, weiss aber nicht ob dieser überhaupt funktioniert.
Folgendes:im Tabellenblatt 1 habe ich in der Spalte "K" in unregelmäßigen Abständen Werte.
Um eine bessere Übersicht zu erhalten, kopiere ich Das Datum und die Werte ins Tabellenblatt 2.
Ist aufwendig aber funktioniert.
Jetzt meine Frage, gibt es eine Möglichkeit das dies automatisch erfolgt?
Gruß
Günther
Zum besseren Verständnis habe ich die Tabelle hochgeladen.
Hallo Günther,

mal ein Versuch

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

   Dim lngLastRow As Long
  
   If Not Intersect(Target, Range("K:K")) Is Nothing Then
      With Tabelle2
         lngLastRow = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
         .Cells(lngLastRow, 2).Value = Target
         .Cells(lngLastRow, 1).Value = CDate(Cells(Target.Row, 1))
      End With
   End If
End Sub

Der Code gehört hinter die Tabelle.
Hallo Stefan, der Code, funktioniert nicht, leider
Gruß
Günther
Hallo Günther,

ich habe den Code vorher bei mir getestet. Da hat er funktioniert. Ich schicke dir mal die Datei zurück.
Hallo Stefan, ich weis leider nicht warum es nicht funktionierte.
Nach einen erneuten Versuch klappt es wunderbar!
Danke für Deine Bemühungen und den nochmaligen Hinweis das es FUNKTIONIERT!
Danke für alles
Gruß
Günther
Hallo Stefan,
eine Frage stellt sich noch, wie mus ich im Gode ändern, das im Tabellenblatt 2 das Datum im Spalte "B" und der Wert in Spalte "C" eingetragen wird. Ich habe es probiert aber ohne Erfolg!
Gruß
Günther
Hallo Günther,

du hättest insgesamt drei Codezeilen ändern müssen

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

   Dim lngLastRow As Long
  
   If Not Intersect(Target, Range("K:K")) Is Nothing Then
      With Tabelle2
         'diese Zeile geändert
         lngLastRow = .Cells(.Rows.Count, 3).End(xlUp).Row + 1
         'und die beiden folgenden
         .Cells(lngLastRow, 3).Value = Target
         .Cells(lngLastRow, 2).Value = CDate(Cells(Target.Row, 1))
      End With
   End If
End Sub
Hallo Stefan, einen schönen guten Morgen und vielen Dank für die zweite Unterstützung. Auch dieser Code funktionierte sofort!
Dankeschön!
Gruß
Günther