Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1520to1524
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

VBA hängt sich auf beim Einfügen großer Datenmenge

VBA hängt sich auf beim Einfügen großer Datenmenge
03.11.2016 11:31:21
Pascal
Hallo zusammen,
vorab: Ich habe bereits viel Zeit darin investiert eine Lösung auf mein Problem irgendwo zu finden und bin leider gescheitert. Ich hoffe, dass mir hier jemand weiterhelfen kann! :)
Folgendes Problem:
Ich habe ein Makro geschrieben, bei welchem unter anderem eine große, sich monatlich verändernde Datenmenge zunächst gefiltert wird und die gefiliterten Daten anschließend in eine neue Registerkarte kopiert wird. Auf Basis dieser Daten soll sich eine Pivottabelle aktualisieren. Anschließend sollen die Filter der Rohdatenbank nach neuen Kriterien gesetzt werden und der Prozess für eine zweite Tivottabelle wiederholt werden.
Das Makro hierzu sieht wie folgt aus. Ich habe das Makro teilweise "aufgenommen" und den Code dann händisch abgeändert - das ist mein erstes Makro überhaupt und ich lerne Programmieren gerade erst also bitte kein Hate :D
Sub Aktualisieren_PM()
' Aktualisieren_PM Makro
Sheets("Aktueller RS3-Report").Select
Cells.Select
Range("G1").Activate
Range("A1:N10732").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("P3:R6"), Unique:=False
ActiveWindow.SmallScroll Down:=-12
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Rohdaten Kst-Sicht").Select
Range("Tabelle14[[#Headers],[Project]]").Select
ActiveSheet.Paste
Range("O3").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.ClearContents
Range("O2").Select
Selection.AutoFill Destination:=Range("Tabelle14[PSP-Element]")
Range("Tabelle14[PSP-Element]").Select
Sheets("Kst-Sicht ED PM").Select
Range("F10").Select
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
Sheets("Aktueller RS3-Report").Select
Range("B4123").Select
ActiveSheet.ShowAllData
Columns("A:A").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$A$153288").AutoFilter Field:=1, Criteria1:= _
"=*ed_01*", Operator:=xlAnd
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Rohdaten Service-Sicht").Select
Range("Tabelle2[[#Headers],[Subtask]]").Select
Range("Tabelle2[[#Headers],[Project]]").Select
ActiveSheet.Paste
Range("O3").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.ClearContents
Range("O2").Select
Selection.AutoFill Destination:=Range("Tabelle2[PSP-Element]")
Range("Tabelle2[PSP-Element]").Select
Sheets("Service-Sicht ED PM").Select
Range("D12").Select
ActiveSheet.PivotTables("PivotTable2").PivotCache.Refresh
Sheets("Aktueller RS3-Report").Select
ActiveSheet.ShowAllData
Range("H9").Select
Rows("1:1").Select
Selection.AutoFilter
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Sheets("Kst-Sicht ED PM").Select
Columns("B:D").Select
Selection.EntireColumn.Hidden = True
Range("H23").Select
End Sub

Die Fehlermeldung:
"Laufzeitfehler '-2147417848 (80010108)':
Die Methode 'Paste' für das Objekt '_Worksheet' ist fehlgeschlagen

Der Fehler wird mir in der Zeile ActiveSheet.Paste angezeigt (fett markiert). Ich habe bereits andere Möglichkeiten ausprobiert wie die Zelle A1 auswählen und dann mit ActiveCell.PasteSpecial einfügen aber das hat alles nicht funktioniert.
Weiterer Hinweis:
Wenn ich die Exceldatei schließen möchte, wird mir außerdem die Fehlermeldung angezeigt:
Das Bild ist zu groß und wird abgeschnitten
Angeblich könnte die Ursache für das Problem also darin liegen, dass irgend ein Programm auf meinen Zwischenspeicher zugreifen möchte oder ähnliches, ich habe allerdings keine Ahnung welches das sein könnte..
Ich danke euch schon im Voraus für eure Hilfe!!
Viele Grüße,
Pascal

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA hängt sich auf ...bei falscher Anwendung
03.11.2016 11:50:25
EtoPHG
Hallo Pascal,
Die Fehlermeldung deutet darauf hin, dass irgendwelche Picture-Elemente mitkopiert werden. Aber, und das entnehme ich deiner Beschreibung, du scheinst hier mit Kanonen (die du noch nicht bedienen kannst) versuchst auf Spatzen zu schiessen, weil:
  • Es macht keinen Sinn einen Rohdatenbestand zu filtern, wenn eine Pivottabelle auf diesen beruht.

  • Die Filterung sollte in der Pivottabelle vorgenommen werden.

  • Eine 2te Pivottabelle (mit Basis der 1sten Pivottabelle) kann dann z.B. anders gefilter werden.

  • All das kann (bei richtiger Anwendung) mit Excel Bordmitteln erreicht werden, ohne einen Hauch VBA!
    Gruess Hansueli
    Anzeige
    AW: VBA hängt sich auf ...bei falscher Anwendung
    03.11.2016 12:54:49
    Pascal
    Hallo Hansueli,
    danke für deine schnelle Antwort!
    ...du hast natürlich Recht, einfacher wäre es, in der Pivottabelle direkt zu filtern. Das war auch meine erste Idee, allerdings konnte ich dies nicht umsetzen. Der Grund - in der Pivottabelle ist lediglich ein Filterkriterium pro Kategorie setzbar. Das bedeutet, ich möchte bspw. bei Projektname alle Projekte anzeigen lassen die entweder EZ_01, EZ_05, EZ_06 und EZ_12 enthalten (nicht in dem Beispiel oben aber in einer Auswertung für eine andere Abteilung).
    Dies habe ich nur über den Spezialfilter einen Spezialfilter gelöst bekommen, nach welchem ich die Rohdaten gefiltert habe.
    Gibt es hierfür eine elegantere Lösung?
    Vielen Dank und Grüße,
    Pascal
    Anzeige

    302 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige