On Error Behandlung schlägt fehl
05.02.2020 17:03:30
haze
die letzte halbe Stunde habe ich mich mit nichts anderem befasst und leider keine Lösung im Netz gefunden, die funktioniert.
Nachfolgender Code scheitert an der "GoError Resume Next" Passage und ich verstehe nicht, _
weshalb die Aussetzung der Fehlermeldung nicht funktioniert:
Sub Refresh()
Dim Monatseingabe As Integer
On Error Resume Next
'## Dateien aktualisieren
Sheets("Database").Select
Sheets("Database").Range("A2").Select '/Datenverbindung Power Query aktualisieren
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
For Each Pvts In ActiveWorkbook.PivotCaches '/ konkreter Befehler zur Pivot Aktualisierung
Pvts.Refresh
Next
'## Abfrage, um welchen Monat es sich handelt
Monatseingabe = InputBox("Bitte Monat des Berichts angeben:") '/Abfrage des Berechnungsmonats fü _
_
_
_
r weitere Berechnungen
If Monatseingabe = "1" Then
On Error Resume Next
ActiveSheet.PivotTables("CCReport").PivotFields("FC").Caption = "Trend" 'Pivot Spalte _
umbenennen
ActiveSheet.PivotTables("CCReport").CalculatedFields("act. Month").StandardFormula = "= _
_
_
_
Januar" 'Act. Month
ActiveSheet.PivotTables("CCReport").CalculatedFields("act. Month").StandardFormula = "= _
_
_
_
Januar" 'YTD cum.
ActiveSheet.PivotTables("CCReport").CalculatedFields("act. Month").StandardFormula = "= _
_
_
_
Invoices.01.01.2019" 'PY YTD cum.
ActiveSheet.PivotTables("CCReport").CalculatedFields("VS").StandardFormula = "=Januar*12" _
_
_
_
'Trend
Else
If Monatseingabe = "2" Then
On Error Resume Next
ActiveSheet.PivotTables("CCReport").PivotFields("FC").Caption = "Trend" 'Pivot Spalte _
umbenennen
On Error GoTo 0
ActiveSheet.PivotTables("CCReport").CalculatedFields("act. Month").StandardFormula = "= _
_
_
_
Februar" 'Act. Month
ActiveSheet.PivotTables("CCReport").CalculatedFields("act. Month").StandardFormula = "= _
_
_
_
Januar+Februar" 'YTD cum.
ActiveSheet.PivotTables("CCReport").CalculatedFields("act. Month").StandardFormula = "= _
_
_
_
Invoices.01.01.2019+Invoices.01.02.2019" 'PY YTD cum.
ActiveSheet.PivotTables("CCReport").CalculatedFields("VS").StandardFormula = "=((Januar+ _
_
_
_
Februar)/2)*12" 'Trend
Else
End If
End If
End Sub
Das Pivot Feld "Trend" soll nur in den ersten 3 Monaten "Trend" heißen, für alle anderen würde ich hier die Spalte in "FC" benennen, daher der Code. Ab Monat 4 ändert sich dann auch die Berechnung, was aber unkritisch sein dürfte.
Nun erscheint (trotz der "On Error" Behandlung) der Laufzeitfehler 1004. Wie lässt sich der abschalten bzw. der Code bei Fehler einfach überspringen?
Es handelt sich bestimmt um ein gängiges Problem, unter der Suchfunktion kommt bei "On error" leider kein Eintrag...
Besten Dank für eure Hilfe und viele Grüße
haze