Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler '-2147417848 (80010108)'
26.07.2013 11:43:21 Max
*****
NotSolved

Ansicht des Beitrags:
Von:
Max
Datum:
26.07.2013 11:43:21
Views:
1671
Rating: Antwort:
  Ja
Thema:
Laufzeitfehler '-2147417848 (80010108)'

Hallo !

Folgende Situation: Ich habe mehrere Pivottabellen von denen ich nun die Datenquelle ändern muss. Das klappt soweit auch ganz gut, allerdings hat die neue Datenquelle anders benannte Datenfelder, die sich nur durch "EUR" bzw. "USD" unterscheiden. Mein Ansatz ist daher, ich speichere mir die Datenfelder der alten Datenquelle, ändere die Datenquelle, und suche in der neuen Datenquelle nach den alten Datenfeldern jedoch mit "EUR" durch "USD" ersetzt, und füge sie der PivotTabelle wieder hinzu.

Die Methode 'AddDataField' für das Objekt 'PivotTable' ist fehlgeschlagen.

Private Sub btnUpdate_Click()
   
    Dim pvtTmp As PivotTable
    Dim pvtF As PivotField
    Dim rng As Range
    Dim dataFieldNames() As String
    Dim dataFieldCaptions() As String
        
    Set pvtTmp = wsPivotDiagram.PivotTables("Pivot_>60_Diagram_3")
        
    Dim i As Integer
    i = 0
    
    For Each pvtF In pvtTmp.DataFields

        If InStr(pvtF.SourceName, "EUR") > 0 Then
    
            ReDim Preserve dataFieldNames(i)
            ReDim Preserve dataFieldCaptions(i)
            dataFieldNames(i) = pvtF.SourceName
            dataFieldCaptions(i) = pvtF.Caption
            
            i = i + 1
            
        End If

    Next pvtF
    
    Set rng = wsDataUSD.Range("$A$1:$AE$58496")
    
    With pvtTmp
    
        .SourceData = rng.Address(True, True, xlR1C1, True)
        '.RefreshTable
    
    End With
    
    For i = LBound(dataFieldNames) To UBound(dataFieldNames)

           pvtTmp.AddDataField pvtTmp.PivotFields(Replace(dataFieldNames(i), "EUR", "USD")), Replace(dataFieldCaptions(i), "EUR", "USD"), xlSum

    Next i

End Sub

Meiner Ansicht nach müsste das so funktionieren. Allerdings bekam ich gleich mal die Fehlermeldung:

"Laufzeitfehler '-2147417848 (80010108)'

Die Methode 'RefreshTable' für das Objekt 'PivotTable' ist fehlgeschlagen."

Da ich mir nicht erklären konnte warum das RefreshTable fehlschlagen sollte, habe ich es mal auskommentiert und erneut versucht.

Gleicher Laufzeitfehler nur mit:

Die Methode 'AddDataField' für das Objekt 'PivotTable' ist fehlgeschlagen.

Intensives googlen ergab nicht viel, ausser das dieser Fehler womöglich durch nicht vollständig Qualifizierte Methoden/Objekte verursacht werden könnte. Alleringds ist mMn bei mir alles vollständig Qualifiziert.

Vielleicht hat ja einer ne Idee?

MfG
Max


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler '-2147417848 (80010108)'
26.07.2013 11:43:21 Max
*****
NotSolved