Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler im Code: 1004

Forumthread: Laufzeitfehler im Code: 1004

Laufzeitfehler im Code: 1004
11.01.2019 11:28:26
Georg
Liebe Mitglieder,
folgende Fehlermeldung kommt:
Laufzeitfehler 1004. Die AutoFill Methode des Range-Objektes konnte nicht ausgeführt werden

und zwar exakt an dieser Stelle im Code:
.Range("C4").AutoFill Destination:=Range("C4:C" & lngLetzte)
Übergehe ich es, taucht der Fehler bei .range("D4") auch auf etc.
Der Bereich "A1:B2" ist leer.
A3:B3 sind PivotTable Überschriften
Ab A4:B4 die Daten der Pivot, wobei die Zeile 4 leer ist.
Ich habe keine Ahnung warum der Fehler kommt, ich will letztendlich in Spalte C, D , E bestimmte Dinge noch auswerten.
Wäre schön, wenn j-d eine Idee hat. Die Autofill Methode an anderer Stelle funktioniert!
Vielen Dank
Sub TeilE()
Dim lngLetzte As Long
lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row
ThisWorkbook.Worksheets("Piv_Daten_Übersicht").Cells(3, 3).Value = "Verdienstgrenze" 'D3
ThisWorkbook.Worksheets("Piv_Daten_Übersicht").Cells(3, 4).Value = "Verdienst überschritten?" ' _
E3
ThisWorkbook.Worksheets("Piv_Daten_Übersicht").Cells(3, 5).Value = "Differenz 

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler im Code: 1004
11.01.2019 11:42:32
UweD
Hallo
du kannst die Formel direkt dem ganzen Bereich zuweisen
Sub TeilE()
    Dim lngLetzte As Long
    With ThisWorkbook.Worksheets("Piv_Daten_Übersicht")
        lngLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
        .Cells(3, 3).Value = "Verdienstgrenze" 'D3 
        .Cells(3, 4).Value = "Verdienst überschritten?" 'E3 
        .Cells(3, 5).Value = "Differenz < 500 €?" 'F3 
        .Cells(3, 6).Value = "Praxis" 'G3 
    
        .Range(.Cells(4, 3), .Cells(lngLetzte, 3)).FormulaR1C1 = _
               "=IfError(VLOOKUP(RC[-2],Daten!R2C3:R12522C12,9,FALSE),0)"
        
        .Range(.Cells(4, 4), .Cells(lngLetzte, 4)).FormulaR1C1 = _
            "=IF(RC[-1]-RC[-2]<0,""ja"",""nein"")"
        
        .Range(.Cells(4, 5), .Cells(lngLetzte, 5)).FormulaR1C1 = _
            "=IF(RC[-2]-RC[-3]<500,""ja"",""nein"")"
        
        .Range(.Cells(4, 6), .Cells(lngLetzte, 6)).FormulaR1C1 = _
            "=IFERROR(VLOOKUP(RC[-5],'Daten'!R2C3:R20000C8,6,FALSE),0)"
        
    End With
End Sub

LG UweD
Anzeige
AW: Vielen Dank für den Tipp. Uwe!!
11.01.2019 11:49:42
Georg
..funktioniert wunderbar und was dazugelernt! Grúß G
AW: Laufzeitfehler im Code: 1004
11.01.2019 11:42:34
hary
Moin
Hab nur ueber den Code gelesen.
Was auffaellt:
Mit
lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row

ermittelst du die letzte benutze Zeile in SpalteA des aktiven Blattes.
und bei
.Range("D4").AutoFill Destination:=Range("D4:d" & lngLetzte)

fehlt vor dem hinteren Range der Punkt.Auch bei den anderen.
gruss hary
Anzeige
AW: vielen Dank für den Tipp
11.01.2019 11:51:01
Georg
Gruß G
AW: vielen Dank für den Tipp
11.01.2019 11:51:11
Georg
Gruß G
AW: Laufzeitfehler im Code: 1004
11.01.2019 11:43:34
Werner
Hallo Georg,
versuch mal so:
Sub TeilE()
Dim lngLetzte As Long
'hier stellst du die letzte belegte Zelle auf dem gerade
'aktiven Tabellenblatt fest
'bist du nicht im Blatt "Piv_Daten_Übersicht" dann passt das wohl nicht
'lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row
With ThisWorkbook.Worksheets("Piv_Daten_Übersicht")
.Cells(3, 3).Value = "Verdienstgrenze" 'D3
.Cells(3, 4).Value = "Verdienst überschritten?" 'E3
.Cells(3, 5).Value = "Differenz 
Gruß Werner
Anzeige
AW: vielen Dank Werner, super!
11.01.2019 11:52:15
Georg
wie immer !!Grüße Georg
Gerne u. Danke für die Rückmeldung. o.w.T.
11.01.2019 12:00:09
Werner
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige