Ich benötige Eure Hilfe bezüglich des u.a. Script´s.
Ich übertrage Daten in die gleiche Tabelle mit der Bezeichnung "Berechnung", damit ich eine Übersicht habe. Nun habe ich in Spalte G und M folgende Formel stehen, die ich jeweils immer nachziehen muß, da diese aus den eingefügten Daten (A=Datum und B=Zahlen) die Differenz zwischen den einzelnen Datums errechnet.
Meine Frage ist nun, kann ich die Formel gleich in diesen Code einbauen, damit die Berechnung automatisch abläuft. Bisher ziehe ich mit der Maus immer die Formel nach.
Also Formel immer vom Vordatum zum aktuellen Datum, abgeglichen mit der Zahlenreihe.
Spalte G =(B41-B40)/(A41-A40)nächste Zeile =(B42-B41)/(A42-A41) usw.
Spalte M =(H41-H40)/(A41-A40)nächste Zeile =(H42-H41)/(A42-A41) usw.
Danke
chris
Sub Protokoll()
Dim i As Long
Const NewConstSheet As String = "Berechnung"
Dim bfound As Boolean
Dim sMerk As String
Dim sMaxZeile As Long
Dim TB As Worksheet
Application.ScreenUpdating = False
'Prüfen ob Tabelle NewConstSheet schon angelegt ist
For i = 1 To ActiveWorkbook.Sheets.Count
If ActiveWorkbook.Sheets(i).Name = NewConstSheet Then
bfound = True
Exit For
End If
Next i
'wenn nicht dann anlegen
If bfound = False Then
sMerk = ActiveWorkbook.ActiveSheet.Name
ActiveWorkbook.Sheets.Add after:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
ActiveWorkbook.ActiveSheet.Name = NewConstSheet
ActiveWorkbook.Sheets(sMerk).Activate
End If
Set TB = ActiveWorkbook.Sheets(NewConstSheet)
'nächste leere Zeile ermitteln
sMaxZeile = TB.Cells(TB.Rows.Count, 1).End(xlUp).Row + 1
'Daten in neue Tabelle übertragen
TB.Cells(sMaxZeile, 1) = ActiveWorkbook.ActiveSheet.Range("B8")
TB.Cells(sMaxZeile, 2) = ActiveWorkbook.ActiveSheet.Range("B7")
TB.Cells(sMaxZeile, 3) = ActiveWorkbook.ActiveSheet.Range("B12")
TB.Cells(sMaxZeile, 4) = ActiveWorkbook.ActiveSheet.Range("B13")
TB.Cells(sMaxZeile, 5) = ActiveWorkbook.ActiveSheet.Range("B14")
TB.Cells(sMaxZeile, 6) = ActiveWorkbook.ActiveSheet.Range("B15")
TB.Cells(sMaxZeile, 8) = ActiveWorkbook.ActiveSheet.Range("E7")
TB.Cells(sMaxZeile, 9) = ActiveWorkbook.ActiveSheet.Range("E12")
TB.Cells(sMaxZeile, 10) = ActiveWorkbook.ActiveSheet.Range("E13")
TB.Cells(sMaxZeile, 11) = ActiveWorkbook.ActiveSheet.Range("E14")
TB.Cells(sMaxZeile, 12) = ActiveWorkbook.ActiveSheet.Range("E15")
Application.ScreenUpdating = True
End Sub