Anzeige
Archiv - Navigation
1956to1960
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

Importmakro beschleunigen

Importmakro beschleunigen
21.12.2023 11:41:52
Robert
Hallo zusammen,

ich habe ein Import-Makro welches auch seinen Dienst erfüllt jedoch benötigt die gesamte Prozedur ca. 2 min für einen Durchlauf.

Habe bewusst auf z.B. "Select" verzichtet, aber aufgrund der vielen unterschiedlichen Import-Bereiche dauert es eben.

Bei der vorgeschalteten Abfrage ob mit oder ohne Bewegungsdaten wird mit der Auswahl "Ja" der meiste Inhalt (Jahresplan) importiert. Dabei ist es wichtig neben dem Inhalt auch die Notizen aus den angegebenen Bereichen zu importieren. Das ist vermutlich auch der Grund warum es sehr lange dauert bis das Makro fertig ist.

Vielleicht hat jemand eine Idee um das ganze etwas zu beschleunigen. Wäre sehr dankbar.

Habe eine Bsp.-Datei angehängt. https://www.herber.de/bbs/user/165425.xlsm

VG Robert

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Importmakro beschleunigen
21.12.2023 13:47:53
Der Steuerfuzzi
Hallo,

na ja, du kopierst haufenweise Daten, das kostet Zeit.

Nachdem aber weder Quelldatei noch Zieldatei bekannt sind, ist es nur schwer möglich einer schnellere Alternative anzubieten. Grundsätzlich sind uA folgende Ansatzpunkte möglich:
- Statt Copy+Paste nur die Werte übertragen mit entsprechender Zuweisung der Bereichswerte
- Man kopiert das ganze Arbeitsblatt in die andere Datei und löscht die nicht zu übertragenden Daten aus der Zieldatei heraus

Gruß
Michael
AW: Importmakro beschleunigen
21.12.2023 22:41:38
Robert
Hallo Michael,

danke für die Rückmeldung.

Das ganze Arbeitsblatt zu kopieren ist nicht möglich. Die anderen Bereiche sind aufgrund Formeln schreibgeschützt.
Was ist mit "nur die Werte übertragen mit entsprechender Zuweisung der Bereichswerte" gemeint? Das nur Zellen kopiert werden welche Inhalt haben?

Sorry für die Frage, aber meine VBA Kenntnisse sind nicht so umfangreich.

Gruss Robert
Anzeige
AW: Importmakro beschleunigen
22.12.2023 09:19:29
Der Steuerfuzzi
Das bedeutet dass Du nur die Werte von einer Tabelle in die andere übertragen kannst.

Statt Deinem folgenden Code:
    Wb.Worksheets("Mitarbeiterliste").Range("A2:I36").Copy 'Bereich 1 kopieren

ThisWorkbook.Worksheets("Mitarbeiterliste").Range("A2:I36").PasteSpecial Paste:=xlPasteValues 'Daten einfügen


Verwendest Du das:
ThisWorkbook.Worksheets("Mitarbeiterliste").Range("A2:I36").Value = Wb.Worksheets("Mitarbeiterliste").Range("A2:I36").Value 'Bereich 1 kopieren


Solange die Bereiche übereinstimmen funktioniert das, allerdings werden dabei keine Formatierungen übertragen.

Gruß
Michael
Anzeige
AW: Importmakro beschleunigen
22.12.2023 10:07:50
Der Steuerfuzzi
Ergänzung:
Das mit den Formatierungen sollte kein Problem sein, da Du mit Pastespecial sowieso nur Werte einfügst.
Da Du aber auch Kommentare überträgst:
Das geht leider nicht so einfach, da musst Du wohl eine Schleife über alle Kommentare machen und sie einzeln übertragen (was geschwindigkeitstechnisch eventuell wieder kontraproduktiv sein könnte):
    Dim a As Object

For Each a In Wb.Worksheets("Jahresplan").Comments
With ThisWorkbook.Worksheets("Jahresplan").Range(a.Parent.Address)
If .Comment Is Nothing Then .AddComment
.Comment.Text (a.Text)
End With
Next

Das funktioniert so aber nur, wenn keine Kommentare im geschützten Bereich vorhanden sind bzw. wenn sich die Kommentare nur in dem zu übertragenen Bereich befinden. Wenn nicht, müsste man vorher prüfen, ob sie im gewünschten Bereich sind. Wenn Kommentare in der Zieldatei auch gelöscht werden müssen, dann müsste man das auch noch ergänzen.

Grüße
Michael
Anzeige
AW: Importmakro beschleunigen
29.12.2023 12:44:27
Robert
Hallo Michael,

Danke für Deine Vorschläge. Ich konnte damit den Import beschleunigen. Braucht nun etwa nur halb so lange wie vorher. Das ist für meine Anforderungen ausreichend.

Viele Grüße
AW: Importmakro beschleunigen
21.12.2023 15:30:00
Piet
Hallo

bei dem Wust an Daten wird es lange dauern, aber mal eine Frage von mir. Vielleicht geht es damit schneller??
Warum kopierst du nicht das ganze Sheet in ThisWorkbook, und löschst die überflüssigen Zeilen und Spalten.
Sei es ganze Zeilen/Spalten, oder nur den Inhalt davon. Hast du das schon mal ausprobiert??

mfg Piet
AW: Importmakro beschleunigen
21.12.2023 22:57:20
Robert
Hallo Piet,

Danke für deine Rückmeldung. Den selben Gedanken hatte Michael auch schon.

Das ganze Arbeitsblatt zu kopieren ist nicht möglich. Die anderen Bereiche sind aufgrund Formeln schreibgeschützt.
Nur den Inhalt zu kopieren ist ein Interessanter Gedanke. Wie könnte man das umsetzten?
Ein Bsp. für einen Bereich würde mir reichen dann kann ich das einbauen.
"SkipBlanks:=True" ist offenbar nicht geeignet dafür.

Gruss Robert
Anzeige
AW: Importmakro beschleunigen
29.12.2023 12:38:45
Robert
Hallo Piet,

das habe ich noch nicht probiert, da es für mich nicht logisch war. Aber die Idee ist vielleicht gar nicht schlecht. Werde ich mal probieren.

Danke und Gruss

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige