Hi assign!
Hab für mich da was programmiert, was für meine Aufgabenstellung tadellos funktioniert und – so vermute ich – auch Deiner Fragestellung entspricht.
Gut, ich arbeite mit 3 Sheets, in der 1. Maske hab ich meine Eingaben, in der 2. Maske meine Performancedaten (Daten der 12. Maske werden kopiert und hier fortlaufend untereinander aufgelistet und mit dem aktuellen Datum versehen) und in der 3. Maske mein Diagramm (muss ja immer um den neuen Datensatz erweitert werden).
Daraus habe ich ein Makro wie folgt programmiert, bei dem Du aufpassen musst, dass die Zellbezüge und die Bezeichnung der Sheets an Deine Situation anzupassen sind! (Am Ende ha ich nur ein simples Positionieren eingebaut – ist nicht unbedingt notwendig!)
Sub Übertrag()
Sheets("Performancedaten").Select
Dim bereich As Range
Set bereich = ActiveSheet.UsedRange
z = bereich.Rows.Count
Cells(z, 1).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=NOW()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells(z, 2).Offset(1, 0).Select
Sheets("Daten").Select
Range("B5:G5").Select
Selection.Copy
Sheets("Performancedaten").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Daten").Select
Range("B2:E2").Select
Selection.Copy
Sheets("Performancedaten").Select
Cells(z, 10).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Daten").Select
Range("B2").Select
Sheets("Performancedaten").Select
Set hr = ActiveSheet.Range(Cells(1, 1), Cells(z + 1, 6))
Sheets("Grafik").Select
ActiveChart.PlotArea.Select
ActiveChart.SetSourceData Source:=hr, PlotBy:=xlColumns
Sheets("Performancedaten").Select
Range("Z1").Select
ActiveCell.FormulaR1C1 = " "
Range("A1").Select
Sheets("Grafik").Select
ActiveChart.ChartArea.Select
Sheets("Daten").Select
Range("G8").Select
ActiveCell.FormulaR1C1 = " "
Range("B2").Select
End Sub
|