Fehler im Code? -Laufzeitfehler
#1
Hallo, 

ich habe normalerweise nicht so viel mit VBA am Hut, aber habe mich dann doch an einer Sache versucht.
In Zelle F2 soll immer eine Formel stehen. Diese wird dann nach unten automatisch ausgefüllt, bis in Spalte A keine Daten mehr sind.


Mit dem Code hier funktioniert es zwar, aber nach wenigen Sekunden kommt diese Fehlermeldung und Excel schließt sich einfach Dodgy

Sub FormelnF()
    Range("F2").Select
    activecell.FormulaR1C1 = _
        "=IFERROR(IF(VLOOKUP(RC[-5],Übersicht!RC1:RC9,6,FALSE), VLOOKUP(RC[-5],Übersicht!RC1:RC9,6,FALSE)),TODAY())"
Selection.AutoFill Destination:=Range("F2:F" & Range("A" & Rows.Count).End(xlUp).Row)
Range(Selection, Selection.End(xlDown)).Select

externer Link entfernt

Debuggen führt auch zu Programmabbruch. 

Sollte da vielleicht noch ein Bezug zum Tabellenblatt hin? Oder direkt in den Code für das Tabellenblatt? 
Wie gesagt, bin da leider nicht so bewandert.

[edit] Momentan steht der Code in einem Modul und wird dann bei Änderungen in der Tabelle folgendermaßen aufgerufen:
Private Sub Worksheet_Change(ByVal Target As Range)
Call FormelnF
End Sub

Wohl auch nicht die eleganteste Lösung schätze ich :19:

[edit] Hänge mal noch eine Bsp. datei an, vielleicht klappts bei euch und es liegt an meinem PC dass der das nicht packt? 
Sheet "Übersicht" ist hierfür erstmal nicht relevant, aber das Blatt löschen wollte Excel auch nicht ohne murren zulassen.

Freue mich über alle Hinweise! 
Grüße
Rob


Angehängte Dateien
.xlsm   beispiel.xlsm (Größe: 39,6 KB / Downloads: 4)
Top
#2
Hallo Rob,
FormelnF ruft sich immer wieder selber auf per Worksheet_Change.
Mit Application.enableevents unterdrückst Du temporär dieses Ereignis:

Code:
Sub FormelnF()
 Application.EnableEvents = False
 Range("F2").Select
 ActiveCell.FormulaR1C1 = _
     "=IFERROR(IF(VLOOKUP(RC[-5],Übersicht!RC1:RC9,6,FALSE), VLOOKUP(RC[-5],Übersicht!RC1:RC9,6,FALSE)),TODAY())"
 Selection.AutoFill Destination:=Range("F2:F" & Range("A" & Rows.Count).End(xlUp).Row)
 Range(Selection, Selection.End(xlDown)).Select
 Application.EnableEvents = True
End Sub
Über Eleganz kann man immer diskutieren, aber nicht um diese Uhrzeit...
Gruß der AlteDresdner (Win11, Off2021)
[-] Folgende(r) 1 Nutzer sagt Danke an AlterDresdner für diesen Beitrag:
  • robert_r
Top
#3
Vielen, vielen Dank, das war's schon! 

Grüße 
Rob
Top


Gehe zu:


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