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

Pivot Office 2003/2007

Pivot Office 2003/2007
Petra
Schönen Tag allerseits
folgendes Codeschnipsel funktioniert in Excel 2003 tadellos:
Cells.Find(What:=StL, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Delete
wobei StL ein zusammengesetzter String ist. Das Suchen erfolgt in einer Pivottabelle. Ich suche eine Überschriftenzeile!
Nochwas Kurioses:
wenn der VBA-Code geschützt ist, kommt der Fehlercode 1004 - Sie können diese Markierung nicht ausblenden -
Mit dem "Beenden" Knopf läuft das Makro richtig weiter.
ist der VBA-Code ungeschützt, passiert folgendes:
Excel 2007 motzt mit Fehlercode 91(Objektvariable fehlt)?
bei beenden läuft der Code nicht mehr richtig weiter.
Ich bin am Ende, weiß mir keinen Rat mehr.
Weiß jemand Abhilfe?
Schönen Tag noch
Petra

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Pivot Office 2003/2007
10.12.2009 02:26:08
fcs
Hallo Petra,
Excel mag es garnicht, wenn man versucht Zellen oder deren Inhalte innerhalb des Datenbereiches eines Pivot-Tabellenbereichs zulöschen. Im Handbetrieb kommmt dann auch immer sofort die von dir beschrieben Meldung oder eine andere, je nach dem in welchem Bereich der Pivot-Tabelle man sich befindet.
Die Meldung unter Excel 2007 wird angezeigt, wenn der Begriff in der Variablen StL im Blatt nicht gefunden wird. Dann gibt Find keine Zelle zurückt und der Delete-Befehl geht ins Leere.
Hier mal eine Code-Anpassung, die zumindest den kontrollierten Ausstieg aus den Prozeduren ermöglicht, ohne das die VBA-Prozdur "gewaltsam" beendet werden muss.
Gruß
Franz
Sub aatest()
On Error GoTo Fehler
Dim StL
StL = InputBox("Suchwert", "Suche in Pivot", "Q3") 'Testzeile
Cells.Find(What:=StL, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Delete
Fehler:
With Err
Select Case .Number
Case 0 'kein Fehler aufgetreten
Case 91
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Suchwert """ & StL _
& """ wurde nicht gefunden oder ist bereits ausgeblendet!" & vbLf _
& "Oder der gefundene Pivotbereich kann nicht gelöscht werden."
Case 1004
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Suchwert """ & StL _
& """ wurde im Datenbereich gefunden, hier ist Löschen/Ausblenden nicht möglich!"
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Anzeige
AW: Pivot Office 2003/2007
10.12.2009 10:58:07
Petra
Hallo Franz
bist Du Nachtschwärmer?aber Spass beiseite.
Der Suchbegriff StL ist vorhanden, wenn ich mit der Maus über der VBA-Code fahre, wird der richtige Begriff eingeblendet.
Wie bereits gesagt, in Excel2003 alles kein Problem.
Ich hoffe, jemand hat noch den zündenden Tipp, daher stelle ich nochmals auf offen.
Liebe Grüße Petra
AW: selbst gelöst - funktioniert
10.12.2009 16:52:38
Petra
Guten Abend allerseits
ich wollte meine Lösung nur hier reinstellen, falls jemand anders ein gleiches Problem hat.
das war mein alter Ansatz, der in Excel2007 nicht funktioniert hat:
Cells.Find(What:=StL, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Delete
mit diesem Code funktioniert es sowohl in Excel 2003 wie auch Excel 2007
ActiveSheet.PivotTables("PivotTableact").PivotFields( _
StL).Orientation = xlHidden
Vielleicht kanns ja jemand brauchen.
Schönen Tag noch
Petra
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige