Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Antworten Top
#3
(08.08.2018, 12: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
Antworten 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
Antworten 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"
Antworten 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
Antworten Top
#7
(08.08.2018, 13: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:
Antworten 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
Antworten Top


Gehe zu:


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