Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
600to604
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
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speicherplatz durch VBA-Codes

Speicherplatz durch VBA-Codes
19.04.2005 16:49:46
Demian
Hallo Leute, macht es einen Unterschied, wo ich die VBA-Codes hinterlege? Habe ein Programm erstellt mit 25 Arbeitsblättern. Zu jedem Arbeitsblatt gehört ein Modul mit einem VBA-Code. Sehen alle gleich aus:

Sub Ausw()
Sheets("Master").Select
Range("A7:H100").Select
Selection.Copy
Sheets("Ausw16").Select
Range("A6").Select
ActiveSheet.Paste
Range("A5:H100").Select
Selection.AutoFilter
Selection.AutoFilter Field:=5, Criteria1:="<25000", Operator:=xlAnd
Selection.AutoFilter Field:=8, Criteria1:="latent"
Selection.AutoFilter Field:=7, Criteria1:="5"
Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Also wirklich nichts weltbewegendes... Das Programm ist nun aber über 28MB gross! hat jemand eine Ahnung, wie das kommen kann? Sollten die Codes besser in ein Modul?
Grüße

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speicherplatz durch VBA-Codes
19.04.2005 17:04:15
Luc
Hallo Demian,
direkt zu Arbeitsblättern und Arbeitsmappe gehören Klassenmodule (.cls) für die entsprechenden Ereignisse - ebenso zu Userforms. Sonst legt man 1 bis mehrere (je nachdem wie übersichtlich man es haben will) normale Module (.bas) an, die sonstige Prozeduren, so wie deine, enthalten. Wenn die alle gleich sind, reicht eine einzige für alle Arbeitsblätter - sie muss sich nur auf das jeweils aktuelle ABlatt beziehen bzw es muss ihr namentlich mitgeteilt wdn.
Gruß Luc :-?
AW: Speicherplatz durch VBA-Codes
19.04.2005 17:05:52
Mathias
Hallo Demian,
wenn der Code für alle Tabellenblätter gleich ist.
Warum schreibst du dann den code nicht nur einmal? sollte er an verschiedenen Stellen in der Prozedur aufgerufen werden, kannst du das ja über Call erledigen
Gruss Mathias
Anzeige
AW: Speicherplatz durch VBA-Codes
19.04.2005 17:07:32
Volker
Hallo Demian,
zunächst mal brauchst Du den zu kopierenden Bereich und den Zielbereich für das Kopieren und Einfügen nicht zu selektieren.
Ich nehme mal an, dass deine 25 Makros durch einen Button in dem jeweiligen Arbeitsblatt angestoßen werden. Wenn Du alle Buttons mit einem einzigen Markro verknüpfst und in diesem Makro Sheet("xyz") durch ActiveSheet ersetzt, kannst Du alles mit einem Makro erschlagen:

Sub Ausw()
Sheets("Master").Range("A7:H100").Copy
ActiveSheet.Range("A6").Insert
ActiveSheet.Range("A5:H100").Select
Selection.AutoFilter
Selection.AutoFilter Field:=5, Criteria1:="<25000", Operator:=xlAnd
Selection.AutoFilter Field:=8, Criteria1:="latent"
Selection.AutoFilter Field:=7, Criteria1:="5"
Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Gruß
Volker
Anzeige
AW: Speicherplatz durch VBA-Codes
19.04.2005 17:31:05
Holger
Hi,
diese Dateigröße kommt mit Sicherheit nicht durch die Makros zustande.
mfg Holger
oops, hast recht.....
19.04.2005 17:39:28
Volker
....das wollte ich eigentlich auch antworten.
Hab die Antwort wohl im Eifer des Gefechtes zu vorschnell abgeschickt.
Wodurch wird das file denn nun Deiner Meinung nach aufgebläht?
@Demian
Manchmal hilft das kopieren in eine neue Mappe, wenn Dir das bei 25 Tabellen nicht zu viel Arbeit ist.
Gruß
Volker

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige