Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
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

Automatisch aktualisieren und kopieren

Automatisch aktualisieren und kopieren
14.10.2008 14:21:00
Ralf
Hallo Excel - Experten,
ich habe eine Excel - Datei mit zwei Tabellenblättern.
Nun möchte ich von Tab.1 aus die Pivottab. in Tab. 2 aktualisieren
und gleichzeitig die Felder ( in Tab.2 ) A 9 bis A 10.000 mit der 1
aus A 5 multiplizieren ( wegen den Zahlenformats :-)
Meine bisherigen Versuche waren leider nur von
"Laufzeitfehlermeldungen" gekrönt :-( 424, 1004,...
Hat hierzu jemand eine Idee ?
Bin echt für jeden Tipp dankbar !!!
Viele Grüße
Ralf

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisch aktualisieren und kopieren
15.10.2008 09:33:53
fcs
Hallo Ralf,
die Zellen innerhalb einer Pivot-Tabelle können nicht durch Kopier- oder Rechenoperatioen geändert werden.
Du muss also entweder die Texte in den Ursprungsdaten in Zahlen konvertieren oder die in der Pivottabelle vorhandenen Text-Zahlen in einer Spalte außerhalb der Pivottabelle in Zahlen umwandeln.
Gruß
Franz
Beispielmakro (im VBA-Editor unter der Tabelle einfügen, die den Pivotbericht enthält)

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim pvField As PivotField, rngZelle As Range
Const intSpaltenOffset As Integer = 5
Set pvField = Target.RowFields(1) '1. Zeilenfeld in Pivotbericht
With pvField
'Datenbereich des Zeilenfeldes formatieren
.DataRange.NumberFormat = "#,##0.00"
'Inhalte in Spalte für konvertierte Zahlen löschen
Me.Columns(.DataRange.Column + intSpaltenOffset).ClearContents
'Name des Zeielnfeldes eintragen
.DataRange.Range("a1").Offset(-1, intSpaltenOffset).Value = .Name
'Zahlenwerte konvertieren
For Each rngZelle In .DataRange
If IsNumeric(rngZelle) Then
rngZelle.Offset(0, intSpaltenOffset).Value = CDbl(rngZelle.Value)
End If
Next
End With
End Sub


Anzeige
AW: Automatisch aktualisieren und kopieren
15.10.2008 11:10:59
Ralf
Hallo Franz,
vielen Dank für Deine supergute Antwort !!!
Es ist mir ziiiiiiiiemlich peinlich, aber ich habe einen Fehler gemacht,
ich habe nämlich vergessen zu erwähnen, daß die Pivottabelle weiter rechts
in Tab.2 steht und die Spalte A ( wo die Zellen mit der 1 multipliziert werden sollen)
ganz normale Zelle sind ( keine Pivottabelle :-)
Es wäre ganz toll, wenn Du mir vor diesem Hintergrund nochmal antworten würdest !!!
Viele Grüße
Ralf
AW: Automatisch aktualisieren und kopieren
15.10.2008 12:11:03
fcs
Hallo Ralf,
dann muss das Makro etwa wie folgt aussehen. Wenn du immer mit 1 multiplizieren willst, dann kanst du die Multiplikation im Code natürlich auch weglassen.
Gruß
Franz

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim pvField As PivotField, rngZelle As Range
Set pvField = Target.RowFields(1) 'oder Target.RowFields("FeldName")
'vorhandene Inhalte in Spalte 1 für konvertierte Zahlen löschen
With Me
.Range(.Cells(pvField.DataRange.Row, 1), .Cells(.Rows.Count, 1).End(xlUp)).ClearContents
End With
With pvField
'Name des Zeilenfeldes in Spalte 1 eintragen
Me.Cells(.DataRange.Row - 1, 1).Value = .Name
'Zahlenwerte im Zeilebereich konvertieren und in Spalte 1 eintragen
For Each rngZelle In .DataRange
If IsNumeric(rngZelle) Then
Me.Cells(rngZelle.Row, 1).Value = CDbl(rngZelle.Value) * Me.Range("A9")
Else
Me.Cells(rngZelle.Row, 1).Value = rngZelle.Value
End If
Next
End With
End Sub


Anzeige
Danke Franz !!!
15.10.2008 14:16:00
Ralf
Hallo Franz,
vielen Dank für Deine erneute große Mühe !
Ich fürchte nur, ich versteh´s leider nicht und
daher fällt mir auch das anpassen mit den
Tabellennamen ziiiiiemlich schwer !
Vielleicht muß ich nochmal drüber schlafen :-)
Viele Grüße
Ralf

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige