Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pivot: Berechn. Feld einfügen: Debugger schweigt?!

Pivot: Berechn. Feld einfügen: Debugger schweigt?!
Andreas
Hallo Excel Freunde,
ich habe heute versucht, in Excel 2010 in PivotTabellen über VBA automatisch berechnete Felder einfügen zu lassen. Die Parameter dieser Felder (Name und Formel) sind im VBA Code hinterlegt. Es kann nun passieren, daß einige der Felder die in der Formel gefordert sind, in der PivotTabelle nicht vorkommen. Dies würde ich bei Auftreten dieses Fehlers beim Einfügen dann separat prüfen. Nun geschah jedoch das Wunderliche. Wenn ich bewußt eine falsche Formel manuell in den Excel-Dialog eingebe, dann bekomme ich die Meldung „Die eingegebene Formel enthält einen Fehler.“ – So wie es sein soll. Wenn ich nun aber diese falsche Formel über VBA einfügen lasse, dann kommt gar nichts. Die Fehlernummer ist 0 und der Debugger springt nicht an. Dies ist der erste Fall für mich, in dem ein Fehler der in Excel auftritt, bei Simulation über VBA nicht provoziert werden kann. Ich habe schon im Internet gesucht und in den Verweisen nachgesehen, aber ich habe keinen Ansatz finden können.
Ist jemandem von Euch bereits Ähnliches widerfahren bzw. hat jemand eine Idee woran es liegen könnte? Ich würde für die nachgelagerten Prüfungen gern die Fehlernummer abfangen. Oder ist es u.U. ein echter Bug?
In der beigefügten Beispieldaten habe ich Daten und Codezeilen zum Testen hinterlegt.
https://www.herber.de/bbs/user/80535.xlsm
Vielen Dank für Eure Mühe.
Grüße aus Berlin, Andreas Hanisch

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Pivot: Berechn. Feld einfügen: Debugger schweigt?!
12.06.2012 21:52:07
fcs
Hallo Andreas,
die falsche Formel für berechnete Fehler löst unter VBA tatsächlich keinen Fehler aus - also wohl Nachlässigkeit von MS-Programmieren.
Was VBA nicht hat das muss man ihm dann persönlich verpassen.
Nachfolgend ein Weg wie du eine Fehlermeldung erzeugen kannst.
Vor der Anweisung zum Anlegen eines Berechneten Feldes werden die Fehler gezählt.
Direkt nach der Anweisung die gemerkte Anzahl mit der neuen Anzahl verglichen und ggf. die Fehlermeldung angezeigt.
Gruß
Franz
Sub CalculatedFields_prc()
Dim intCalcFields As Integer, pvTab As PivotTable
Set pvTab = ActiveSheet.PivotTables(1)
With pvTab
On Error Resume Next
.PivotFields("Test").Delete
On Error GoTo Fehler
intCalcFields = .CalculatedFields.Count
'    .CalculatedFields.Add "Test", "='Planverbrauch'-'Istverbrauch'"        'korrekte Formel
.CalculatedFields.Add "Test", "='Planverbrauch'-'Istverbrauch_2'"       'falsche Formel
If intCalcFields = .CalculatedFields.Count Then
Err.Raise Number:=9999, Source:=pvTab, _
Description:="Berechnetes Feld ""Test"" wurde nicht angelegt"
End If
End With
Fehler:
With Err
Select Case .Number
Case 0 'alles OK
Case 1004
Resume Next
Case 9999
MsgBox "Fehler-Nr.: " & .Number & " in  Objekt " & .Source & vbLf & .Description, _
vbInformation, "Fehler in CalculatedFields_prc"
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, _
vbInformation, "Fehler in CalculatedFields_prc"
End Select
End With
End Sub

Anzeige
AW: Pivot: Berechn. Feld einfügen: Debugger schweigt?!
13.06.2012 18:00:06
Andreas
Hallo fcs,
schön von Dir zu hören. Bitte entschuldige auch die späte Antwort, Excel und VBA haben heute leider noch an anderen Stelle meine Aufmerksamkeit erfordert.
Es beruhigt mich ein wenig, daß das Schweigen des VBA Debuggers bei diesem provozierten Fehler kein Fauxpass meinerseits, sondern MS inhärent ist. Dies eröffnet die Perspektive sich selbst um das Abfangen des Fehlers zu kümmern. Und ich danke Dir auch gleich für den konkreten Lösungsvorschlag!
Du hast mir sehr weitergeholfen!
Beste Grüße aus Berlin, Andreas Hanisch

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige