Ich habe ein Macro in VBa geschrieben, dass neben dem Kopieren von Zellwerten aus Blatt1 in Blatt2 zusätzlich auch Formeln in bestimmte Zellen in Blatt2 eintragen soll. Wenn ich das Macro im VBA Editor ausführe (F5/F8) funktioniert es einwandfrei. Wenn ich aber eine Schaltfläche in Blatt1 erstelle und das Macro (befindet sich in einem Modul) dem Button zuweise kommt Fehler 1004 bei der ersten Code Zeile die eine Formel einfügen soll. Ich verstehe nicht wieso das Macro wenn es im Editor ausgeführt wird funktioniert, aber nicht wenn ich es über den Button laufen lasse?
Der Code wäre:
Sub Trade_eintragen()
Dim lr As Integer
Dim lr2 As Integer
Dim i As Integer
Dim k As Integer
Dim wb As Workbook
Dim ws_neu As Worksheet
Dim ws_det As Worksheet
Set wb = ThisWorkbook
Set ws_neu = wb.Sheets("Neuer Trade")
Set ws_det = wb.Sheets("Details")
lr = ws_neu.Cells(Rows.Count, 10).End(xlUp).Row
lr2 = ws_det.Cells(Rows.Count, 10).End(xlUp).Row
For i = 2 To lr
For k = 1 To 12
ws_det.Cells(lr2 + i - 1, k).Value = ws_neu.Cells(i, k).Value
Next k
ws_det.Cells(lr2 + i - 1, 18).Value = ws_neu.Cells(i, 13).Value
ws_det.Cells(lr2 + i - 1, 19).Value = ws_neu.Cells(i, 14).Value
If i = 2 Then
ws_det.Cells(lr2 + i - 1, 14).Formula = "=Sum(N" & lr2 + i - 1 & ":N" & lr2 + lr - 1
ws_det.Cells(lr2 + i - 1, 15).Formula = "=Sum(O" & lr2 + i - 1 & ":O" & lr2 + lr - 1
ws_det.Cells(lr2 + i - 1, 16).Formula = "=Sum(P" & lr2 + i - 1 & ":P" & lr2 + lr - 1
ws_det.Cells(lr2 + i - 1, 17).Formula = "=P" & lr2 + i - 1 & "/L" & lr2 + lr - 1
Else
ws_det.Cells(lr2 + i - 1, 16).Formula = "=(J" & lr2 + i - 1 & "*100-N" & lr2 + i - 1 & "*100-K" & lr2 + i - 1 & "-O" & lr2 + i - 1 & ")*C" & lr2 + i - 1
End If
Next i
End Sub