Discussion:
VBA-Code verschwunden ?!
(zu alt für eine Antwort)
Michael Klein
2004-06-18 07:40:33 UTC
Permalink
Hi,

ich habe gestern mehrere Makros programmiert, die ich in einer
Excel-Arbeitsmappe abgespeichert habe. Alles hat funktioniert!
Gestern abend habe ich die Arbeitsmappe umbenannt.

Als ich heute morgen ein Makro starten wollte, stellte ich fest, dass der
Name des Makros noch eingetragen ist, aber der Code vollständig weg ist !!!
:-( ((

Hat das etwas damit zu tun, dass ich die Arbeitsmappe umbenannt habe? Ich
verstehe es nicht!

Für jeden Tipp dankbar.
Freundliche Grüße
Johnny Kühne
2004-06-18 07:44:27 UTC
Permalink
Post by Michael Klein
Hi,
ich habe gestern mehrere Makros programmiert, die ich in einer
Excel-Arbeitsmappe abgespeichert habe. Alles hat funktioniert!
Gestern abend habe ich die Arbeitsmappe umbenannt.
Als ich heute morgen ein Makro starten wollte, stellte ich fest, dass der
Name des Makros noch eingetragen ist, aber der Code vollständig weg ist !!!
:-( ((
Hat das etwas damit zu tun, dass ich die Arbeitsmappe umbenannt habe? Ich
verstehe es nicht!
Für jeden Tipp dankbar.
Freundliche Grüße
Am Umbenennen der Datei kann es nicht liegen. Aber hast du den Quellcode
evt. doch in einer anderen Arbeitsmappe gespeichert? Wenn man mehrere
Arbeitsmappen gleichzeitig geöffnet hat, kann man den Quellcode, bzw. die
Module schnell einmal verewechseln.

Gruss Johnny
Michael Klein
2004-06-18 07:57:00 UTC
Permalink
Hi Johnny,

ich habe die Makros unter "Diese Arbeitsmappe" abgespeichert?

Gruß
Post by Johnny Kühne
Post by Michael Klein
Hi,
ich habe gestern mehrere Makros programmiert, die ich in einer
Excel-Arbeitsmappe abgespeichert habe. Alles hat funktioniert!
Gestern abend habe ich die Arbeitsmappe umbenannt.
Als ich heute morgen ein Makro starten wollte, stellte ich fest, dass der
Name des Makros noch eingetragen ist, aber der Code vollständig weg ist
!!!
Post by Michael Klein
:-( ((
Hat das etwas damit zu tun, dass ich die Arbeitsmappe umbenannt habe? Ich
verstehe es nicht!
Für jeden Tipp dankbar.
Freundliche Grüße
Am Umbenennen der Datei kann es nicht liegen. Aber hast du den Quellcode
evt. doch in einer anderen Arbeitsmappe gespeichert? Wenn man mehrere
Arbeitsmappen gleichzeitig geöffnet hat, kann man den Quellcode, bzw. die
Module schnell einmal verewechseln.
Gruss Johnny
Christian Wisspeintner
2004-06-18 08:32:51 UTC
Permalink
Hallo Michael,
Post by Michael Klein
Hi Johnny,
ich habe die Makros unter "Diese Arbeitsmappe" abgespeichert?
"Diese Arbeitsmappe" gibt es in jeder geöffneten Datei. Probier mal mehrere
Dateien zu öffnen, dann kannst Du das im Visual Basic Editor (VBE)schön
sehen. Üblicherweise sind - auch ohne dass Du mehrere Dateien geöffnet
hast - schon einige Dateien (AddIns, evtl. Personl.xls) im VBE vorhanden,
die aber meist per Passwort geschützt sind (bei personl.xls nicht der Fall).
Möglicherweise hast Du Deine Makros ja dort hinein geschrieben, was erklären
würde, dass der Makroname noch eingetragen ist. Eingetragene Makros müssen
irgendwo in dem Projektbaum im VBE zu finden sein.

Hoffe, das hilft Dir weiter

Gruss
Christian
Michael Klein
2004-06-18 09:27:10 UTC
Permalink
ok, und für die Zukunft:

Wo speichere ich am besten Makros bzw. VBA-Prozeduren ab, wenn ich sie nur
für eine bestimmte Arbeitsmappe verfügbar machen will?

Gruß
Post by Christian Wisspeintner
Hallo Michael,
Post by Michael Klein
Hi Johnny,
ich habe die Makros unter "Diese Arbeitsmappe" abgespeichert?
"Diese Arbeitsmappe" gibt es in jeder geöffneten Datei. Probier mal mehrere
Dateien zu öffnen, dann kannst Du das im Visual Basic Editor (VBE)schön
sehen. Üblicherweise sind - auch ohne dass Du mehrere Dateien geöffnet
hast - schon einige Dateien (AddIns, evtl. Personl.xls) im VBE vorhanden,
die aber meist per Passwort geschützt sind (bei personl.xls nicht der Fall).
Möglicherweise hast Du Deine Makros ja dort hinein geschrieben, was erklären
würde, dass der Makroname noch eingetragen ist. Eingetragene Makros müssen
irgendwo in dem Projektbaum im VBE zu finden sein.
Hoffe, das hilft Dir weiter
Gruss
Christian
Christian Wisspeintner
2004-06-18 09:53:45 UTC
Permalink
Hallo Michael,
Post by Michael Klein
Wo speichere ich am besten Makros bzw. VBA-Prozeduren ab, wenn ich sie nur
für eine bestimmte Arbeitsmappe verfügbar machen will?
Gruß
Der Code hierfür sollte dann in der jeweiligen Datei abgelegt werden. Wo
genau, ist zum Teil Geschmackssache:
Einfache Makros (Sub ...), die irgendwelche Aktionen automatisieren, können
in "Diese Arbeitsmappe", unter der entsprechenden Tabelle oder auch in einem
separaten Modul abgelegt werden, je nachdem wo es sinnvoller erscheint.
Makros, die zB in jeder Tabelle verwendet werden sollen, sollten eher in
einem Modul oder unter "Diese Arbeitsmappe" abgelegt werden (und dabei
entsprechend mit Bezug auf Activesheet, etc. arbeiten). Dadurch wird auch
verhindert, dass der Code beim Kopieren einer Tabelle mitkopiert wird (und
somit redundant wird), was die Wartung des Codes erheblich aufwändiger
macht, wenn selbiger zigmal vorhanden ist.
Anders sieht es aus, wenn Du Funktionen programmierst, die Du als Formel in
einer Zelle verwenden willst. Diese müssen m.E. in einem Modul liegen, damit
diese auch verfügbar werden.
Bei aufwändigen Aufgaben empfiehlt sich ohnehin die strukturelle Gliederung
des Codes in einzelne Module. Ich persönlich verwende fast ausschliesslich
Module (außer wenn es um die Event-Steuerung von Steuerelementen geht ...
diese findet naturlich in der entsprechenden Tabelle, wo sich zB die
Schaltfläche befindet, statt. Selbst dann steht bei mir dort meist nur ein
Einzeiler 'Modul1.Irgendwas' o.ä.)

Vielleicht hilft's Dir weiter

Christian
Michael Klein
2004-06-18 10:17:46 UTC
Permalink
Hi,

also wenn ich dich recht verstehe:

Im VBA-Editor unter VBA Projects(Name der Datei) --> Module und dann ein
Modul aussuchen oder ein neues anlegen. Richtig?

Gruß
Post by Christian Wisspeintner
Hallo Michael,
Post by Michael Klein
Wo speichere ich am besten Makros bzw. VBA-Prozeduren ab, wenn ich sie nur
für eine bestimmte Arbeitsmappe verfügbar machen will?
Gruß
Der Code hierfür sollte dann in der jeweiligen Datei abgelegt werden. Wo
Einfache Makros (Sub ...), die irgendwelche Aktionen automatisieren, können
in "Diese Arbeitsmappe", unter der entsprechenden Tabelle oder auch in einem
separaten Modul abgelegt werden, je nachdem wo es sinnvoller erscheint.
Makros, die zB in jeder Tabelle verwendet werden sollen, sollten eher in
einem Modul oder unter "Diese Arbeitsmappe" abgelegt werden (und dabei
entsprechend mit Bezug auf Activesheet, etc. arbeiten). Dadurch wird auch
verhindert, dass der Code beim Kopieren einer Tabelle mitkopiert wird (und
somit redundant wird), was die Wartung des Codes erheblich aufwändiger
macht, wenn selbiger zigmal vorhanden ist.
Anders sieht es aus, wenn Du Funktionen programmierst, die Du als Formel in
einer Zelle verwenden willst. Diese müssen m.E. in einem Modul liegen, damit
diese auch verfügbar werden.
Bei aufwändigen Aufgaben empfiehlt sich ohnehin die strukturelle Gliederung
des Codes in einzelne Module. Ich persönlich verwende fast ausschliesslich
Module (außer wenn es um die Event-Steuerung von Steuerelementen geht ...
diese findet naturlich in der entsprechenden Tabelle, wo sich zB die
Schaltfläche befindet, statt. Selbst dann steht bei mir dort meist nur ein
Einzeiler 'Modul1.Irgendwas' o.ä.)
Vielleicht hilft's Dir weiter
Christian
Christian Wisspeintner
2004-06-18 11:32:43 UTC
Permalink
Hallo Michael,
Post by Michael Klein
Hi,
Im VBA-Editor unter VBA Projects(Name der Datei) --> Module und dann ein
Modul aussuchen oder ein neues anlegen. Richtig?
Ja, genau. Einfach rechter Mausklick auf das jeweilige Projekt (mit dem
richtigen Dateinamen) und dann auf "Einfügen - Modul". Per Default enthält
eine neu angelegte Arbeitsmappe ja keine Module.

Gruss
Christian
Michael Klein
2004-06-18 12:07:25 UTC
Permalink
ok, danke dir

Gruß
Post by Christian Wisspeintner
Hallo Michael,
Post by Michael Klein
Hi,
Im VBA-Editor unter VBA Projects(Name der Datei) --> Module und dann ein
Modul aussuchen oder ein neues anlegen. Richtig?
Ja, genau. Einfach rechter Mausklick auf das jeweilige Projekt (mit dem
richtigen Dateinamen) und dann auf "Einfügen - Modul". Per Default enthält
eine neu angelegte Arbeitsmappe ja keine Module.
Gruss
Christian
Loading...