Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1860to1864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Macro funktioniert nicht über Button

Macro funktioniert nicht über Button
06.12.2021 15:08:02
Alexander
Hi
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macro funktioniert nicht über Button
06.12.2021 15:18:43
Alexander
Ich bin gerade selbst draufgekommen. Ich habe vergessen die Klammer bei der Formel zuzumachen. Also es fehlt am Ende: & ")"
Ich weiß zwar nicht wieso es wenn ich das Macro im Editor ausführe dann trotzdem geht und mit Button nicht, aber nach Korrektur dessen und jetzt ganz richtiger Formel funktionieren beide Varianten ohne Probleme
ins blaue:
06.12.2021 15:19:42
Klaus
Moin,
ungetestet ins blaue geraten:
Hier refernzierst du falsch, Rows.Count wird im Editormodus immer im ActiveSheet laufen:
lr = ws_neu.Cells(Rows.Count, 10).End(xlUp).Row
lr2 = ws_det.Cells(Rows.Count, 10).End(xlUp).Row
Kann sein, dass wenn der Button im Focus ist dies einen Fehler verursacht? Probiers mal so:
lr = ws_neu.Cells(ws_neu.Rows.Count, 10).End(xlUp).Row
lr2 = ws_det.Cells(ws_det.Rows.Count, 10).End(xlUp).Row
LG,
Klaus M.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige