Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - Kopierte Daten einfügen dauert sehr lange

VBA - Kopierte Daten einfügen dauert sehr lange
25.07.2024 11:52:36
ReimerB
Hallo,
ich habe mir vor ca. 25 Jahren eine Vokabellerntabelle mit Excel erstellt. Damals mit Office 97 und später mit Office 2003.
Jetzt habe ich sie wiedergefunden und möchte sie wieder nutzen, mit Office 2010.

Dabei ist mir aufgefallen, dass einige Aufrufe über verschiedene Userforms sehr lange dauern.
Beim debuggen bin ich auf folgende Procedur gestoßen:

Sub AusgewaehlteDatenKopieren(Tabelle)
' Kopiert die Daten die auf Tabelle "Vokabeltabelle" sichtbar sind. Die Daten, die mithilfe vom Autofilter
' ausgeblendet wurden, werden nicht kopiert. Es wird entweder auf "Filtertabelle" kopiert oder auf "Karteitabelle"

Sheets("Vokabeltabelle").Activate
Range("C2").Select
ActiveCell.CurrentRegion.SpecialCells(xlVisible).Copy
Sheets(Tabelle).Activate
Range("A1").Select
ActiveSheet.Paste
ActiveCell.EntireRow.Delete

End Sub

Bei 6 zu kopierenden Vokabeln dauert Active.Sheet.Paste ca. 20 Sekunden. Bei 100 sind es ca. 30 Sekunden.
Wenn ich zur Zeile ActiveCell.EntireRow.Delete komme, bekomme ich immer die Meldung "keine Rückmeldung", aber nach ca. 25 Sekunden geht es wieder weiter.

Hat jemand eine Erklärung, warum das so ist?
Ich kann mich nicht daran erinnern, dass das vor 20 Jahren auch so war. Wahrscheinlich aber nicht, sonst hätte ich das Projekt schon lange aufgegeben.

Gibt es eine andere Möglichkeit die selektierten Vokabeln auf einer anderen Tabelle einzufügen als mit ActiveSheet.Paste?
Kann man irgendwo nachlesen, welche Eigenschaften die verschiedenen Objekte habe?

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA - Kopierte Daten einfügen dauert sehr lange
25.07.2024 12:52:26
Onur
Du brauchst nix zu selektieren, um aus oder in ein Blatt was zu kopieren bzw einzufügen. Sowas machen nur der Makrorecorder und somit auch Anfänger.
Das reicht:

Range("C2").CurrentRegion.SpecialCells(xlVisible).Copy Sheets(Tabelle)Range("A1")


Aber warum du von ActiveCell die ganze Zeile löschst, ist mir schleierhaft. ActiveCell ist doch zu dem Zeitpunkt Sheets(Tabelle).Range("A1").
Anzeige
AW: VBA - Kopierte Daten einfügen dauert sehr lange
31.07.2024 12:04:20
ReimerB
Sorry, ich war ein paar Tage krank und konnte nichts machen.

Jetzt habe ich deine Version einmal ausprobiert.
Funktioniert natürlich, bringt aber absolut keinen Zeit- oder Geschwindigkeitsgewinn.

In der ersten Zeile stehen die Überschriften. Damit die beim Lernen nicht mit abgefragt werden, lösche ich die Zeile.

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige