Laufzeitfehler 1004
#1
Hallo, 
Ich möchte bei einer Excel Datei den Wert in 2 Zellen über eine Formel berechnen Lassen und anschließend alle weiteren Zellen unterhalb über autofill nach der selben Formel berechen. 
Hab dazu mal folgendes Makro aufgezeichnet. 

Sub Spalten_einfügen()

    ActiveCell.FormulaR1C1 = "=RC[-1]*0.0061037"
    Selection.AutoFill Destination:=Range("B15:B235557")
    Range("B15:B235557").Select
    Range("C15").Select
    ActiveCell.FormulaR1C1 = "=ABS(RC[-1])"
    Selection.AutoFill Destination:=Range("C15:C235557")
    Range("C15:C235557").Select
End Sub

Beim Ausführen bekomme ich den Laufzeitehler 1004 angezeigt.
Woran kann das liegen?
Viele Grüße Sandro
Top
#2
Ich vermute mal ganz stark, dass deine Datei nur 65000 Zeilen hat. Somit kann also nicht bis zur Zeile 235557 ausgefüllt werden.
Schöne Grüße
Berni
Top
#3
(08.08.2018, 13:38)MisterBurns schrieb: Ich vermute mal ganz stark, dass deine Datei nur 65000 Zeilen hat. Somit kann also nicht bis zur Zeile 235557 ausgefüllt werden.

Doch die Datei wird bis Zeile 235557 beschrieben
Top
#4
Ach, versteh schon, wo der Fehler liegt. Mach es so:

Code:
Sub Spalten_einfügen()
Dim letzte As Long

letzte = Cells(Rows.Count, 1).End(xlUp).Row

ActiveCell.FormulaR1C1 = "=RC[-1]*0.0061037"
Selection.AutoFill Destination:=Range("B15:B" & letzte)
Range("C15").Select
ActiveCell.FormulaR1C1 = "=ABS(RC[-1])"
Selection.AutoFill Destination:=Range("C15:C" & letzte)

End Sub

Du solltest aber generell nicht mit Select-Anweisungen arbeiten. Wenn du noch sagst, ob immer in B15 gestartet werden soll, bau ich dir das noch um.
Schöne Grüße
Berni
Top
#5
Hey vielen Dank erstmal.

Hab den Code gerade mal getestet. Er zeigt mir wieder den Laufzeitfehler an und es steht da "Die Autofill-Methode des Range-Objektes konnte nicht ausgeführt werden"
Top
#6
1. Hör bitte auf, ständig komplette Beiträge zu zitieren. Diese Funktion ist dafür da, konkret auf Fragen oder Hinweise einzugehen. Wozu zitierst du überhaupt Code?

2. Autofill funktioniert nur dann, wenn in der Spalte davor auch Werte stehen. Falls dort keine Werte stehen, musst du statt Autofill Copy verwenden.

3. Bevor es noch mehr wilde Raterei wird, lade bitte ein Beispielmappe hoch. Andernfalls werde ich dir noch drei Codevarianten präsentieren, von denen keine passt.

4. Hatte ich dir eine Frage gestellt, diese darfst du auch gerne noch beantworten.
Schöne Grüße
Berni
Top
#7
(08.08.2018, 14:01)MisterBurns schrieb: 2. Autofill funktioniert nur dann, wenn in der Spalte davor auch Werte stehen. Falls dort keine Werte stehen, musst du statt Autofill Copy verwenden.

Gruß Berni, Besten Dank für die Hilfe mit dem Copy-Befehl funktioniert es bestens !:23:
Top
#8
Trotzdem der Vollständigkeit halber noch der richtige Code, auch wenn du nicht auf meine Frage eingehen magst.

Code:
Sub Spalten_einfügen()
Dim letzte As Long

letzte = Cells(Rows.Count, 1).End(xlUp).Row

Range("B15").FormulaR1C1 = "=RC[-1]*0.0061037"
Range("C15").FormulaR1C1 = "=ABS(RC[-1])"
Range("B15:C15").Copy Destination:=Range("B15:C" & letzte)

End Sub
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • Sandrof90
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste