Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Pivot Tabelle gibt Wert trotz "leerer" Zelle zurück
#1
Hallo liebe Excel Experten,

ich habe eine Pivot Tabelle, welche auf Daten einer Tabelle zugreift in die ich mittels Makro Daten einfüge.
Die eingefügten Daten stammen aus einer Tabelle in der Formeln (siehe weiter unten) je nach Bedingung Inhalte eintragen.
Beim Kopieren der Inhalte kopiere ich lediglich die Werte und nicht die Formeln mittels folgendem VBA Skript:

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

        :=False, Transpose:=False

Nach kopieren der Daten in die Pivot Quell Tabelle erkennt die Pivot aber auch in "leeren" Zellen Werte und schreibt mir in die PIVOT Tabelle eine 1.

Grund hierfür dürfte diese Formel sein:

=WENNFEHLER(WENN(SVERWEIS(A6;'Tabellenblatt'!B:J;6;FALSCH)=1;"X";"");J6)

Kann ich statt "" auch etwas anderes einfügen? Weil scheinbar erkennt die Pivot das "" ja als Zelleninhalt.

Wenn ich händisch in der Pivot Quell Tabelle die Zellen makiere und "ENTF" drücke wird in der Pivot keine 1 mehr angezeigt.
Die Pivot Werte werden nach der Wertefeldeinstellung "Anzahl" ausgewertet.

Ich kann euch leider nicht die Beispieldatei aufgrund der Inhalte anhängen. Sie nachzubauen würde mir zu viel Zeit kosten. Ich würde mich unheimlich freuen wenn ihr trotzdem helfen könnt.
Antworten Top
#2
Hallo,


Zitat:Sie nachzubauen würde mir zu viel Zeit kosten.
gehe ich recht in der Annahme, dass du Hilfe benötigst? Und gehe ich ebenfalls recht in der Annahme, dass wir nach deiner  Lesart als kostenlose Helfer mehr Zeit haben?
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hallo Günther,

ich habe schon befürchtet, dass man diese Stelle falsch verstehen kann.
Selbstverständlich ist es aber nicht so zu verstehen, dass ich eure Zeit und Hilfe in Anspruch nehmen will und meine erste Prio ist so gut wie keine Zeit dafür aufwenden zu müssen.

Ich hatte schon angefangen die Datei nachzubauen und dabei gemerkt wie viel Zeit das in Anspruch nimmt und dachte, dass es ausreicht wenn ich die "Problemstellen" herauskopiere.
Antworten Top
#4
Moin!
Um das Phänomen nachzustellen, brauchte es bei mir nicht viel:
A1:B1 Überschriften
A2:A100 Daten (Plural von Datum im 1. Quartal 2021)
B2:B100 =""   (!)

Somit wird überall ein Leerstring ausgegeben.
In der Pivot wird der Leerstring korrekt als Inhalt errechnet.

Kopiere ich Spalte B und füge den Inhalt ein, sollte man meinen, dass nach Aktualisierung der Pivot überall als Anzahl 0 herauskommt.
Pustekuchen!
Dass immer noch etwas (der vbNullString) in den Zellen steht sieht man auch gut am Verhalten von Strg+Pfeiltasten.

Allerdings:
Eine Lösung außerhalb von VBA fällt mir nicht ein.

Mit VBA:
PHP-Code:
Sub NullStringWeg()
Dim Zelle As Range
For Each Zelle In Range("B2:B100")
  If Zelle.Value vbNullString Then
    Zelle
.Clear
  End 
If
Next
End Sub 

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Hallöchen,

eventuell geht eine alte Naive. Damit
- bekommst Du in der Tabelle das X, wenn dort eine 1 steht. Du müsstest die Formel entsprechend umbauen
- bekommst Du in der Pivot eventuell ein passendes Ergebnis, wenn Du die Anzahl Zahlen nimmst

Tabelle:

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
1WerWas
2ichX
3du
4er
ZelleFormatWert
B2"X";;1
B3"X";;
B4"X";;
ZelleFormel
B2=1
B3=""
B4=""
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg

Pivot:

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
11ZeilenbeschriftungenDiskrete Anzahl von Was
12du0
130
14er0
150
16ich1
17X1
18Gesamtergebnis1

ZelleFormatWert
A12"X";;du
A13"X";;
A14"X";;er
A15"X";;
A16"X";;ich
A17"X";;1
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Ich glaube, André, dass das Problem tiefgründiger ist.
Wie kommt man dem vbNullString auf die Schliche?
=CODE("") liefert #WERT!
=ISTLEER("") liefert FALSCH
=LÄNGE("") liefert 0
=ANZAHL2("") liefert 1
Kopieren und Wert einfügen ändert nichts daran.
(in den Zellen stand ="")
Dennoch "ist da was"!
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Hallo Ralf,

Zitat:Wie kommt man dem vbNullString auf die Schliche?
deswegen mach ich den Vorschlag mit "Anzahl Zahlen", sag dem "X" Schleich Dich und verkleide meine 1 als X 15
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Das könnte man doch ganz einfach mit einem Calculate-Measure umgehen.
https://docs.microsoft.com/de-de/dax/blank-function-dax
Antworten Top
#9
Umgehen kann man viel, es kamen ja auch bereits einige Vorschläge.
Für mich (und offensichtlich auch für den TE) interessant ist die Tatsache, wie man mit einer Formel (nach copy: .PasteSpecial xlPasteValues) tatsächlich eine leere Zelle übergeben kann.
UPDATE:
Da es hier ja tatsächlich um eine Pivot geht, ist der Measure ein probates Mittel!
Sorry für die Engstirnigkeit!
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#10
Danke für die netten Worte 22 
Dann lös das Problem, geht natürlich auch und die Löung ist offensichtlich.
Aber wird sicher Deinen Ansprüchen nicht genügen ... Undecided
Antworten Top


Gehe zu:


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