Collapse column

Autor Thema: Excel2007 Hilfe bei Fehlersuche in Kopiermakro  (Gelesen 4083 mal)

Offline pesca

  • Newbie
  • *
  • Beiträge: 2
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2007
Excel2007 Hilfe bei Fehlersuche in Kopiermakro
« am: Dezember 06, 2011, 09:26:50 Vormittag »
Hallo,

mein Problem ist, dass das Makro einen Wert des Filters auf "#N/V" setzt. Der Filter ist Bestandteil einer Pivottabelle. Die Einträge in der Tabelle ändern sich nicht sondern nur der Eintrag im Filter.

Funktion des Markos:
Auslesen einer Zelle in Datei B. Anschließend in Datei A einen Filter auf den ausgelesenen Wert setzt.
Dann wird im Excelsheet eine Berechnungn durchgeführt und der berechnete Wert in Datei B geschreiben. Anschließend wird der nächsten Wert wert in den Filter gesetzt usw. Bis alle Werte/Filtereinträge durchlaufen sind.


Ich hoffe, dass mir jemand helfen kann.

Mit freundlichen Grüßen
Daniel

Code: Visual Basic
  1. Sub Filterübertragen()
  2. Dim i, j, x, kw As Integer
  3. Dim line As String
  4. Dim A, B As Worksheet
  5. Dim Piv As PivotField
  6. i = 3
  7. j = 2
  8.  
  9. 'Workbooks.Open Filename:="H:\Daten\A.xlsx"
  10. 'Workbooks.Open Filename:="H:\Daten\B.xlsx"
  11. Set A = Workbooks("A.xlsx").Sheets("TabelleX")
  12. Set B = Workbooks("B.xlsx").Sheets("TabelleY")
  13. Set Piv = A.PivotTables("PivotTable2").PivotFields("c2")
  14.  
  15. B.Activate
  16. Do Until Cells(2, j) = ""
  17. j = j + 1
  18. Loop
  19.  
  20. B.Range(Cells(2, j - 1), Cells(77, j - 1)).Copy
  21. B.Cells(2, j).PasteSpecial
  22.  
  23. x = Cells(2, j - 1)
  24. kw = Mid$(x, 3)
  25. Cells(2, j) = "KW" & kw + 1
  26.  
  27.  
  28. Do Until Cells(i, 3) = ""
  29. line = B.Cells(i, 3)
  30.  
  31. If line = "a" Or line = "b" Or line = "c" Or line = "d" Or line = "e" Then
  32. B.Cells(i, j) = 0
  33. Else
  34.  
  35. Piv.CurrentPage = (line)
  36. Calculate
  37. A.Range("F17").Copy
  38. B.Cells(i, j).PasteSpecial Paste:=xlPasteValues
  39.  
  40. End If
  41.  
  42. i = i + 1
  43. Loop
  44.  
  45. B.ChartObjects("Diagramm 1").Activate
  46. ActiveChart.SetSourceData Source:=Range(Cells(2, 3), Cells(77, j))
  47. End Sub
  48.  

« Letzte Änderung: Dezember 06, 2011, 09:34:24 Vormittag von Officer »

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Officer

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 59.503
    • Profil anzeigen
    • Excel-Inside Solutions
  • Office-KnowHow: Profi
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2019 / Office 365
Antw: Excel2007 Hilfe bei Fehlersuche in Kopiermakro
« Antwort #1 am: Dezember 06, 2011, 10:12:16 Vormittag »
Hallo pesca,

könntest Du bitte die Beispieldatei hochladen (+Erweiterte Optionen...). Dann könnte ich mir das mal am "lebenden" Objekt ansehen! ;)

Gruß

Officer
Weitere Informationen, Tipps & Tricks findest du auf Excel-Inside.de
Bitte erfolgreich beantwortete Fragen als gelöst kennzeichnen -  zur Anleitung

Offline pesca

  • Newbie
  • *
  • Beiträge: 2
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2007
Antw: Excel2007 Hilfe bei Fehlersuche in Kopiermakro
« Antwort #2 am: Dezember 06, 2011, 11:17:59 Vormittag »
Hallo Officer,

leider darf ich die Datei nicht hochladen. Ich mache momentan ein Praktikum und soll mitunter diese Datei Auswerten und wollte mit mit dem Makro das regelmäßige aktivieren von einem dutzend Filterwerten vereinfachen. Ich werde versuchen die Datei abzuwandeln damit ich sie hochladen kann, kann aber nichts versprechen, da sie sehr umfangreich ist. Vielleicht hat ja jemand schonmal einen vergleichbaren Fehler gehabt.

Mit freundlichen Grüßen
Pesca

Offline NoNet

  • Newbie
  • *
  • Beiträge: 16
    • Profil anzeigen
    • 1,2,3 - kleine Excelei...
  • Office-KnowHow: Profi
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2010
#NV! ist in VBA : CVERR(xlErrNA)
« Antwort #3 am: Dezember 20, 2011, 11:01:02 Vormittag »
Hallo pesca,

ich habe das Problem nicht ganz erfasst, versuche aber mal das nach meinem Verständnis wiederzugeben :

- Eine PIVOT-Tabelle enthält mehrere Werte im ZEILEN-Bereich und im DATEN-Bereich zugehörige Werte
- Die ZEILEN-Werte werden einzeln (per Schleife) abgearbeitet und in einer anderen Datei als AUTOFILTER-Wert eingesetzt
- einer der ZEILEN-Werte in der PIVOT-Tabelle kann #NV! sein
- Was passiert nun bei #NV! ? - Oder was SOLL damit passieren oder NICHT passieren ?

Den Wert #NV! kann man in VBA mit CVERR(xlerrNA) abfangen !

Gruß, NoNet
Gruß NoNet
1,2,3 - kleine Excelei - http://www.excelei.de

Offline Thomas Ramel

  • Global Moderator
  • Newbie
  • *****
  • Beiträge: 25
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Antw: Excel2007 Hilfe bei Fehlersuche in Kopiermakro
« Antwort #4 am: Dezember 21, 2011, 06:42:32 Vormittag »
Grüezi Daniel

Du kannst Felder in einer Pivot-Tabelle nicht einfach mit der Zell-Adresse ansprechen, das wird nicht zuverlässig klappen.

Zeichne das ändern eines Filters im Berichtsfilter mal mit dem Makro-Recorder auf und sieh dir dann diesen Code an. Das kannst Du dann verwenden um den Filter zu verändern.

Aber am besten machst Du wirlkich eine Demo-Mappe mit rerpäsentativen Werten damit wir uns das genauer ansehen können. Achte darauf, dass zumindest die Felder der PT genau so heissen wie im Original.
Mit freundlichen Grüssen

Thomas Ramel
- MVP für MS-Excel -

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.