Clever-Excel-Forum

Normale Version: VBA Formeln durch Werte ersetzen, aber nicht Pivot
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

in einem Bericht ersetze ich per Makro Formeln durch Werte

'        With ActiveSheet.UsedRange
'        .Cells = .Cells.Value
'        End With

So weit, so gut, aber ... in dem Bericht sind auch einige Pivot-Tabellen.
Deren Werte möchte ich aber nicht ersetzen, sondern erhalten, um den Empfängern einen Drill-Down zu erlauben.

Ein möglicher Workaround wäre wahrscheinlich, die Definition der Bereiche vorzunehmen, in denen das Makro (ausschließlich) arbeiten soll, aber vielleicht gibt es ja sowas wie .Cells(ohne Pivot).Value


Danke sehr!!!
Was ist ein 'Drill-down' ?
Klicken auf einen Wert in einer Pivot-Tabelle, woraufhin sich die den Wert ergebenden Daten zeigen.
-> "Hinuntersteigen" auf die nächst tiefere Detaillierungsebene...

Gruß
Torsten
Hallo!

Ich kann mir nicht recht vorstellen, daß meine Frage sehr kompliziert ist und wundere mich daher, daß keine Antworten kommen.
Ist es denn hinreichend klar formuliert, was ich möchte?

Vielen Dank für Eure Mühe im Voraus!
Hi Torsten,


Zitat:Ist es denn hinreichend klar formuliert, was ich möchte?

ich vermute mal: nein! Ich kann dir zwar bei VBA-Problemen nicht helfen. Vllt. würde aber den Spezialisten eine Beispieldatei bei der Lösungsfindung helfen.
Hier kannst du nachlesen, wie du eine solche hochladen kannst:  http://www.clever-excel-forum.de/thread-326.html

Deine Beispieldatei sollte anonymisiert, vom Aufbau her aber absolut identisch mit deinem Original sein.
Hallo Torsten,

(10.11.2016, 17:37)Torsten schrieb: [ -> ], aber vielleicht gibt es ja sowas wie .Cells(ohne Pivot).Value

es gibt zwar die Intersect-Methode, die ein Range-Objekt zurückgibt, das die rechteckige Schnittmenge von zwei oder mehreren Bereichen darstellt, aber die Umkehrung, also der Ausschluss dieser Schnittmenge, gibt es nicht.

Gruß Uwe
Vielen Dank,

dann muß ich die Bereiche wohl definieren.
Hallo Torsten,

ich weiß nicht, ob das die Pivot-Daten beeinflusst - Du schreibst ja dort von "Werten", es gibt auch SpecialCells. Damit könntest Du die Ersetzungen auf Zellen mit Formeln beschränken.

Code:
Sub test()
ActiveSheet.UsedRange.SpecialCells(xlFormulas).Value = ActiveSheet.UsedRange.SpecialCells(xlFormulas).Value
End Sub
Hallo Schauan,

vielen Dank für Deine Antwort. Ich habe eine Lösung über die Bereichsdefinition hinbekommen,
habe dann, weil deutlich eleganter, Deine Lösung versucht, und sie funktioniert.


Besten Dank!
Torsten