AW: Mal eine blöde Nachfrage
10.05.2023 14:29:34
chris58
Hallo !
Ja, danke für die Frage. Diese Formel ist in einem VBA Code eingebunden, sodaß bei Berechnung alles auf einmal in die zu sicherende Zeile geschrieben wird.
Ich habe das nun mit gelöst indem ich mich lange gespielt habe (rausgelöscht und wieder reingenommen usw.) aber es funktioniert nun.
Danke jedenfalls, das Ihr Euch mein Problem angesehen habt. Hier der ganz Code, wo die Formel am Ende drinnensteht, falls es hier wem interssiert.
Danke nochmals
chris58
Sub ProtokollSichern()
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("C7")
TB.Cells(sMaxZeile, 2) = ActiveWorkbook.ActiveSheet.Range("B7")
TB.Cells(sMaxZeile, 3) = ActiveWorkbook.ActiveSheet.Range("C6")
TB.Cells(sMaxZeile, 4) = ActiveWorkbook.ActiveSheet.Range("C11")
TB.Cells(sMaxZeile, 5) = ActiveWorkbook.ActiveSheet.Range("C12")
TB.Cells(sMaxZeile, 6) = ActiveWorkbook.ActiveSheet.Range("C13")
TB.Cells(sMaxZeile, 7) = ActiveWorkbook.ActiveSheet.Range("C14")
TB.Cells(sMaxZeile, 9) = ActiveWorkbook.ActiveSheet.Range("D7")
' Formel in Spalte H
TB.Cells(sMaxZeile, 8).FormulaR1C1 = "=(RC3-R[-1]C3)/(RC1-R[-1]C1)"
' Formel in Spalte J
TB.Cells(sMaxZeile, 10).FormulaR1C1 = "=(RC[-2])/24"
Application.ScreenUpdating = True
End Sub