online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Tomschi vom 14.04.2020, 07:04 Options

VBA - 1:1-Dateikopie

Guten Morgen!

Mit Hilfe des www habe ich mir einen Code zusammengebastelt, der es ermöglicht eine bestehende Datei 1:1 zu kopieren.
Anschliessend werden die Formel durch Werte ersetzt, einige Blätter gelöscht und die z. B. die Kommentare entfernt.
Das Makro läuft in der Originaldatei (ca. 2 MB gross) sehr lage, sodass ich vermute, dass man es optimieren kann. Leider fehlt mit dazu allerdings das Fachwissen.
Vielleicht hat ja der eine oder andere einen Tipp (oder auch mehrerer) für mich und kann meine Fragen beantworten.

Meinen Code findet man in der Datei unter
http://www.uploadagent.de/show-90565-1208149373.html

Vorweg schon mal ein herzliches Dankeschoen fuer die hoffentlich zahlreichen Anregungen.

Tom


Antwort schreiben

Antwort 1 von Flupo vom 14.04.2020, 08:04 Options

Oft erreicht man schon eine Menge, wenn man für die Laufzeit des Makros die Bildschirmaktualisierung ausschaltet.
Das geht mit folgender Befehlszeile:

Application.ScreenUpdating = False

Am Ende wird dann mit

Application.ScreenUpdating = True

wieder eingeschaltet.

Gruß Flupo

Antwort 2 von Tomschi vom 14.04.2020, 09:17 Options

Hi Flupo!

Danke, dass Du Dir mein Problem durch den Kopf gehen hast lassen.

Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
habe ich schon eingebaut.

Vielleicht kann man z. B. das Löschen vereinfachen.

Ciao

Tom

Antwort 3 von Flupo vom 14.04.2020, 09:20 Options

Zitat:
Vielleicht kann man z. B. das Löschen vereinfachen.

Dazu müsste man wissen, wie du es gelöst hast.

Gruß Flupo

Antwort 4 von Flupo vom 14.04.2020, 09:21 Options

OOPS. Wenn man lesen würde... Sry.

Antwort 5 von Flupo vom 14.04.2020, 09:55 Options

Ich hätte das Problem ein wenig anders angefangen.
Da in der Zieldatei nur einige Tabellenblätter benötigt werden, würde ich auch nur diese in eine neue Datei kopieren. Damit hast du auch nicht das Problem mit der Entfernung des Codes (oder irre ich mich hier?).
    Sheets(Array("soll bleiben01", "soll bleiben02", "soll bleiben03", _
        "soll bleiben04", "soll bleiben05")).Copy

Die Befehlszeile mit dem "CodeModule" führt bei mir eh zu einer Fehlermeldung ("Der programmatische Zugriff auf das Visual Basic-Projekt ist nicht sicher.").

Gruß Flupo

Antwort 6 von Tomschi vom 14.04.2020, 12:19 Options

Mahlzeit!

Guter Ansatz, aber da es teilweise Blätter mit dem jeweiligen Tagesdatum geben KANN (die Betonung liegt auf KANN), erstelle ich eben eine 1:1 Kopie und lösche dann jene Blätter, die auf jeden Fall entfernt werden sollen.

Ausserdem bin ich mir bei Deinem Code nicht sicher, ob auch tatsächlich die Seitenformatierungen erhalten bleiben.

Also bei mir funktioniert das Löschen des Makroinhaltes aus Tabelle4. Es kann durchaus sein, dass auch in den vorhandenen Blättern ein Code entfernt werden muss.

Danke für Deine Unterstützung.

Tom

Ähnliche Themen

VBA-Editor öffnen und schließen
maxim66  14.03.2008 - 98 Hits - 2 Antworten

VBA-Excel
mentosbasi  28.05.2008 - 350 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026