Fehler bei Makrosaufzeichnung für Pivot?

Bild

Betrifft: Fehler bei Makrosaufzeichnung für Pivot? von: Schneider, Oliver
Geschrieben am: 04.02.2005 11:38:56

hallo,
kann dies jemand bestätigen bzw. nachvollziehen oder eine Lösung dafür finden, wenn folgendes Problem auftaucht:

Ich nehme ein VBA-Makro via Makrorekorder von Excel 2003 oder Excel 2000 auf, der mit eine Pivot-Tabelle erstellt. Ich markiere z.B. dabei die gesamten Spalten von A bis H.

In der Makroaufzeichnung dagegen finde ich dann "C1:C8". Somit findet er dann später nicht die entsprechenden Felder die ich hinzufügen möchte. Ändere ich dieses C1:C8 auf A:H ab, funktioniert es.

Nehme ich das selbe Makro noch einmal auf und markiere also Spalte A bis A und formatiere sie zb rot, dann zeichnet er dies korrekt auf, also "A:H".

Dieser Bug tritt bei mir also nur bei Aufzeichnung einer Pivot-Tabelle auf. Er meint C1:C8 wäre wahrscheinlich für Column 1 bis 8.

Kann dies einer Bestätigen, bzw. hat jemand eine Lösung dafür?
Gibt es Möglichkeiten, komplette Spalten via Zahlen statt Buchstaben anzusprechen? Also statt "A:H" solche eine Schreibweise "1:8" ?

Gruss und vielen Dank
Oliver Schneider

Bild


Betrifft: AW: Fehler bei Makrosaufzeichnung für Pivot? von: Otto
Geschrieben am: 04.02.2005 12:43:47

Hallo Oliver,

Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4

ich kann nicht erkennen, dass das falsch sein soll. Bei der Aufzeichnung arbeitet der Makrorekorder in Englisch. Das deutsche S1:S8 (Spalte1 bis Spalte8) wird zu einem engischen C1:C8 (Column1 bis Column8). Du bist ja frei, das aufgezeichnete Ergebnis nachzubearbeiten. Das sollte man ja sowieso immer machen. Da kannst Du dann den Bereich anders angeben.
So kannst Du dann auch die überflüssig erzeugten Selects und Activates wieder loswerden.
Vielleicht postest Du mal den aufgezeichneten Code, damit wir den verbessern können

Gruß Otto


Bild


Betrifft: AW: Fehler bei Makrosaufzeichnung für Pivot? von: Schneider, Oliver
Geschrieben am: 05.02.2005 22:21:27

Lese dir bitte nochmal meinen Text durch, dies ist definitiv falsch. Ob Deutsch oder Englische Version. Spalten werden immer in Buchstaben angeben. also A:H und nicht C1:C8. Dieses C steht NICHT für Column! es ist ein Fehler, denn wenn du in die Pivot-Tabelle reingehtst und auf den Zurückbutton klickst, sieht du auf einmal das er "nur" die Zellen C1:C8 markeirt und nicht Spalte 1 bis 8.


Bild


Betrifft: AW: Fehler bei Makrosaufzeichnung für Pivot? von: Otto
Geschrieben am: 07.02.2005 11:17:44

Hallo Oliver,

Meine Testumgebungen: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4 und Excel 11 Deutsch unter Windows XP

Lese dir bitte nochmal meinen Text durch. Deine Aussage Spalten werden immer in Buchstaben angeben ist definitiv falsch. Du kannst von der Notation A:H in deutschem Excel in die Notation S1:S8 umschalten durch die Befehle Extras/ Optionen... / Allgemein und Z1S1-Bezugsart auswählen. In englischem Excel ist das dann R1C1. Wählst Du jetzt die ersten 8 Spalten aus, ist die Schreibweise S1:S8 und nicht mehr A:H. Da S1:S8 nicht mehr eindeutig ist, kann in VBA bei der Eingabe einer Formel in einer Zelle durch Auswahl entweder der FormulaR1C1-Eigenschaft, der FormulaR1C1Local-Eigenschaft oder der Formula-Eigenschaft die Eindeutigkeit wieder hergestellt werden. Dies ist bei der direkten Angabe der Pivot-Befehle leider nicht möglich.
Ich habe hier mal ein kurzes Beispiel aufgezeichnet, bei dem ich die Spalten A:F ausgewählt hatte. Der Makrorekorder liefert dann:
Dies entspricht Deiner ersten Beobachtung. Es ist auch richtig beobachtet, dass das unveränderte Ausführen dieses aufgezeichneten Makros nicht mehr auf die ganzen Spalten zugreift, sondern stattdessen nur die 8 Zellen anspricht. Dadurch liefert diese Makro kein vernünftiges Ergebnis mehr.
Wählt man einen kleineren Bereich (A1:A64) aus, dann liefert der Makrorekorder:
Hier ist jetzt die Notation R1C1:R64C6 völlig eindeutig. Du siehst außerdem, dass meine erste Erklärung korrekt war und C1:C8 eben genau Column bedeutet.

Nach einer kleinen Massage würde ich den ersten aufgezeichnetet Code so verändern:
Dieses Beispiel läuft problemlos in Excel 2003. Es stößt auf einen Bug in Excel 2000 beim CreatePivotTable.

Und noch etwas: Anrede und Gruß wäre freundlich gewesen.

Gruß Otto


Bild


Betrifft: AW: Fehler bei Makrosaufzeichnung für Pivot? von: Schneider, Oliver
Geschrieben am: 07.02.2005 11:55:17

hallo otto,

sorry, für die nichtanrede und gruss!

ich meinte ja damit, dass er mit "C1:C4" falsch aufzeichnet. dies paasiert aber nur wenn man wie folgt aufzeichnet:

- makroaufzeichnung beginnen
- spalten markieren
- daten / pivot-bericht
- etc.

dreht man dies um:

- makroaufzeichnung beginnen
- daten / pivot-bericht
- spalten markieren
- etc.

macht er dies richtig. er zeigt nun "A:D" an und nicht "C1:C4".

ich habe auch mal die bezugsart auf Z1S1 umgestellt. aber in der makroaufzeichnung hatte sich dort nichts geändert. immernoch C1:C4. ändere ich es um auf "S1:S4" geht es auch nicht. es kann schon sein, dass es irgendwie möglich ist, mit zahlen zu arbeiten, dann aber wahrscheinlich in der schreibweise "S1:S4" und nicht "C1:C4" oder?

ich wollte damit ja nur einen fehler von excel aufdecken, der bei der pivotaufzeichnung einen fehler aufzeichnet, wenn zuerst markiert wird und dann pivot erstellt wird. zeichne ich etwas anderes auf, zb. spalten 1 bis 4 grün machen, macht er es ja richtig. der fehler taucht nur im pivotbereich auf.

aber danke für deinen einsatz und bestätigung.

gibt es eigentlich eine möglichkeit, so einen bug an ms zu melden?

gruss
oliver


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Fehler bei Makrosaufzeichnung für Pivot?"