Supportnet / Forum / Tabellenkalkulation
schnelligkeit eines makros
Frage
hallo an alle,
mein modul benötigtl für 1000 daten, für ein einzige auswertung ca. 5 min. besteht eine möglichlkeit das makro etwas schneller zu
machen
schreibe im allgemine deklaration nur "Option Explicit"
info : benutze windows 2000
bedanke mich im vorraus für hinweise
Gruss
X-kölsch
Antwort 1 von coros
Moin X-kölsch,
und wo ist das Makro? Wenn Du Hilfe zu einem fertigen Makro benötigst, dann solltest Du schon mal das selbige hier hinschreiben.
Einen Rat, den ich Dir pauschal geben kann ist, verzichte auf die Select-Anweisungen in einem VBA Code. Diese entsteht meistens, wenn man ein Makro aufzeichnet, da ja ständig Zellen oder der gleichen markiert (Select) werden. Aud die kann zu 99% verzichtet werden und sie benötigen unheimlich viel Systemrecorcen, da ja jeder einzellne Schritt nachvollzogen wird.
Wechsele nicht ständig die Tabellenblätter mit der Anweisung Worksheets("Tabelle1").Select. Sehe lieber zu, dass Du das direkt zuweist. Als Beispiel, wenn Du Daten aus Zelle A1 aus Blatt "Tabelle1" in Blatt "Tabelle2" in Zelle B1 kopieren möchtest, reicht die Anweisung
aus. Ein aufgezeichnetes Makro würde statt dessen so aussehen:
Siehst Du die vielen Select´s, von denen ich gesprochen habe. Wenn DU das mit der Anweisung darüber vergleichst, siehst Du, dass man ganz ohne Select Daten kopieren kann.
So, für weitere Hilfe benötigt man dann schon Dein Makro.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
und wo ist das Makro? Wenn Du Hilfe zu einem fertigen Makro benötigst, dann solltest Du schon mal das selbige hier hinschreiben.
Einen Rat, den ich Dir pauschal geben kann ist, verzichte auf die Select-Anweisungen in einem VBA Code. Diese entsteht meistens, wenn man ein Makro aufzeichnet, da ja ständig Zellen oder der gleichen markiert (Select) werden. Aud die kann zu 99% verzichtet werden und sie benötigen unheimlich viel Systemrecorcen, da ja jeder einzellne Schritt nachvollzogen wird.
Wechsele nicht ständig die Tabellenblätter mit der Anweisung Worksheets("Tabelle1").Select. Sehe lieber zu, dass Du das direkt zuweist. Als Beispiel, wenn Du Daten aus Zelle A1 aus Blatt "Tabelle1" in Blatt "Tabelle2" in Zelle B1 kopieren möchtest, reicht die Anweisung
Sheets("Tabelle1").Range("A1").Copy Sheets("Tabelle2").Range("B1")aus. Ein aufgezeichnetes Makro würde statt dessen so aussehen:
Range("A1").Select
Selection.Copy
Sheets("Tabelle2").Select
Range("B1").Select
ActiveSheet.PasteSiehst Du die vielen Select´s, von denen ich gesprochen habe. Wenn DU das mit der Anweisung darüber vergleichst, siehst Du, dass man ganz ohne Select Daten kopieren kann.
So, für weitere Hilfe benötigt man dann schon Dein Makro.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

