In deinem Makro kopierst du aus Overview den Wert aus Zelle C6 nach Tabelle1. Wenn ich es richtig verstanden habe, ergibt sich der Wert aus der Formel "=JETZT()", genau so wie die Werte in Overview Spalte A sich aus "=JETZT()" ergeben? Dann kannst du natürlich den nach dem Kopiervorgang aus Overview nicht den Wert aus Tabelle1!C6 nehmen, weil sich bis dahin die Sekunden bereits verändert haben können.
Sub Bestandsdaten_kopieren()
'Bereich kopieren
Sheets("overview").Range("A211:AP236").Copy
'einfügen in erste freie Zeile in ausgabe, 'Rows.Count gibt Anzahl Zeilen zurück, 1 ist die Spalte in der gesucht wird 'Offset gibt zurück 1 Zeile nach unten und 0 Spalten zur Seite
Sheets("Datenbank Bestand").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
'Kopiermodus beenden Application.CutCopyMode = False
Sheets("Overview").Range("C6").Copy
Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
Nimm stattdessen den Wert aus dem bereits fertig kopierten Bereich (also am Zielort), denn der Wert ist kein Formelergebnis mehr.
Die entspr. Zeile ist markiert.
Option Explicit
Sub Bestandsdaten_kopieren()
Dim rngSrcData As Excel.Range
Dim rngDstData As Excel.Range
With Worksheets("overview")
Set rngSrcData = .Range("A211:AP236")
End With
With Worksheets("Datenbank Bestand")
Set rngDstData = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
Set rngDstData = rngDstData.Resize(rngSrcData.Rows.Count, rngSrcData.Columns.Count)
End With
Call rngSrcData.Copy
Call rngDstData.PasteSpecial(xlPasteValuesAndNumberFormats)
With Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
.Value = rngDstData.Cells(1, 1).Value
End With
Application.CutCopyMode = False
End Sub
Grüße
|