Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Modul per VBA Code einfügen

Modul per VBA Code einfügen
29.03.2022 18:38:25
Florian
Moinsen,
leider finde ich mit Google nichts Brauchbares.
Kann ich mittels eines Add-Ins in eine Excel-Datei ein Modul einfügen, dass ich im Add-in gespeichert habe?
Falls ja, wie? :)
Danke euch!
Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Modul per VBA Code einfügen
29.03.2022 18:47:19
Oberschlumpf
hi Florian
und wenn du es schaffen solltest, das Modul per VBA in Datei X "einzupflanzen", dann musst du doch auch überall, wo das Makro in Datei X gestartet werden soll, auch eben die Startbefehle von Makro "einpflanzen".
Oder anders gefragt: Ist SO das Ganze nich wirklich etwas umständlich?
Speicher das AddIn dort, wo alle Zugriff haben, und weise alle an, das AddIn zu installieren. Wenn das nich geht, dann programmier alles so, dass niemand sich "behelligt" fühlt und trotzdem alles funktioniert^^ :-)
Ach ja, zum Hinzufügen von z Bsp VBA-Code durch VBA-Code ist es erforderlich, dass genau dieser Zugriff durch Excel erlaubt ist - und genau diese Einstellung ist - wegen Sicherheitsrisiken^^ - normalerweise nicht aktiviert.
Ciao
Thorsten
Anzeige
AW: Modul per VBA Code einfügen
29.03.2022 19:21:08
Florian
Problem ist, dass eine Datei bei vielen Anwendern (mehr als 100) im Umlauf ist, die ich gerne mit neuen Funktionen updaten würde. Add-Ins machen es für den Anwender in der Anwendung komplizierter.
Da die Makros digital signiert sind, sind die Sicherheitseinstellungen kein Problem, da die bisherigen Dateien auch schon mit VBA laufen.
Wenn ich es über den Export laufen lasse, kann der Anwender aber den Inhalt sehen, oder? Das sollte nicht so sein.
Kann man das nicht irgendwie "direkt in die Datei schreiben" lassen?
Anzeige
AW: Modul per VBA Code einfügen
29.03.2022 19:26:03
Oberschlumpf
"kann der Anwender aber den Inhalt sehen, oder?"
Welchen Inhalt? Den vom neuen Makro?
Nee, wenn du Reginas Idee mit Export/Import umsetzt, wird die .bas Datei doch gleich wieder gelöscht.
Und, nur wenn du willst, du könntest den Zugriff aufs VBA-Projekt doch mit PW schützen, oder?
Ich hab noch nie mit signierten Makros gearbeitet, daher weiß ich nich, ob das alles dann problemlos mit Zugriff auf VBA mit VBA funktioniert - aber du schreibst ja: "Geht alles"...dann solltest du jetzt ja weiterkommen...
Anzeige
AW: Modul per VBA Code einfügen
29.03.2022 20:02:41
Florian
Ok, dann teste ich das morgen mal mit Reginas Code ;)
Danke Euch!!
AW: Modul per VBA Code einfügen
29.03.2022 21:46:54
Luschi
Hallo Florian,
da bin ich ja mal gespannt, wie du dieser Aufgabe meistern willst:
- es gibt sehr, sehr,... viele Stolpersteine
- ist der Vba-Code per Kennwort in der Zieldatei geschützt-schon stehst Du vor einer
  riesigen Staumauer
- M$ hat in den letzten 15 Jahren viel dafür getan, daß der KW-Schutz per Vba nicht so
   ohne Weiteres aufgehoben werden kann
- besonders Vba.SendKeys "%{F11}" wird ab Excel 2003 abgewürgt und damit die Übergabe
  des Vba-Kennwortes in einer weiteren Tastenfolge unmöglich
- selbst wenn es gelingt, den Schutz aufzuheben, darf anschließend kein weiterer Vba-Befehl folgen
  (außer 'End')
- sonst ist der Schutz aus heiterem Himmel wieder automatisch aktiv - tata-tata-tata!!!
- dieses Theater habe ich in Excel- , Word- , Access- und Outlook-Vba erlebt
- folgende Variante scheint immer noch zu funktionieren:
https://www.excel-inside.de/vba-loesungen/sonstiges/621-vba-passwort-ueber-ein-vba-makro-aufheben.html
- die nächste Schwierigkeit ist dieser Befehl in Reginas Vorschlag: MkDir "c:\Test"
- hier spielt Windows 8, 10, 11 nicht mit, wenn man nicht als Administrator am PC angemeldet ist
- in Root 'C:' darf kein neues Verzeichnis vom Anwender angelegt werden
- also bleibt nur 'C:\Users\....\AppData\Local\Temp\TriTraTrullala' oder was ähnliches übrig
- erst wenn Du diese Hürden gemeistert hast, kannst Du Dich dem Vorschlag vor Regina weiter widmen
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Modul per VBA Code einfügen
29.03.2022 18:58:59
ReginaR
Hi,
wenn Du diesen Weg gehen willst, musst Du das Modul zuerst exportieren und dann wieder importieren. In dem nachfolgenden Beispiel wird das Modul1 in einen neu erstellten Ordner exportiert. Der 2. Code importiert alle Module aus dem Ordner in die Datei Test.xlsm.
Aber wie mein Oberschlupf schon schreibt, ist der Weg holperig, weil in den Makroeinstellungen der Zugriff erlaubt sein muss.
Gruß Regina

Sub export_modul()
MkDir "c:\Test"
ThisWorkbook.VBProject.VBComponents("Modul1").Export _
"C:\Test\Modul1.bas"
End Sub
Sub import_modul()
Dim str_name As String
str_name = Dir("C:\Test\*.*")
Do While str_name  ""
Workbooks("Text.xlsm").VBProject.VBComponents.Import _
"C:\Test\" & str_name
Kill "C:\Test\" & str_name
str_name = Dir
Loop

Anzeige
AW: Modul per VBA Code einfügen
29.03.2022 19:01:02
Oberschlumpf
DEIN Oberschlumpf?^^ :-)))
ok, wann und wo gehn wa n Kaffee trinken? Du lädtst ein! :-)
AW: Modul per VBA Code einfügen
29.03.2022 19:28:22
ReginaR
Oh oh, man sollte sich seinen Text doch nochmal durchlesen :))))))
Falls es Dich mal in den hohen Norden verschlägt, geht der Kaffee auf mich!
Gruß Regina
AW: Modul per VBA Code einfügen
29.03.2022 19:37:23
Oberschlumpf
ohh...Norddeutschland mag ich...wie weit hoch müsst ich denn?...musst mir ja nich gleich Str + Hausnr verraten...Ortsname würde erst mal reichen :-)))
Anzeige
AW: Modul per VBA Code einfügen
29.03.2022 20:17:15
ReginaR
:-)))) Kreis Pinneberg, nordwestlich von Hamburg.
Gruß Regina
AW: Modul per VBA Code einfügen
29.03.2022 20:42:36
Oberschlumpf
haha! kennst du den stadtteil Langenhorn von....Hamburg?...da bin ich zu hause...und bis PI sinds so ca 30km?...weiß nich genau....bis Elmshorn sinds so ca 40 km :-))
AW: Modul per VBA Code einfügen
29.03.2022 20:53:26
ReginaR
Hi, ich bin Hamburgerin, ursprünglich mal aus den Walddörfern... Langehorn ist mir also durchaus ein Begriff. Das mit 40 KM passt schon ziemlich, wohne in Ellerhoop, ziemlich genau zwischen Pinneberg und Elmshorn.
Tja, die Welt ist klein....
Gruß
Regina
Anzeige
AW: Modul per VBA Code einfügen
30.03.2022 09:44:44
Herbert_Grom
Also dann will ich jetzt aber wissen, wie das Kaffee-Treffen ausgeht, mit Fotos und Story! Gebt Gas!
AW: Modul per VBA Code einfügen
30.03.2022 09:47:18
ReginaR
-grins- ...
ich weiß jetzt zumindest, wie mein "Schreibfehler" passiert ist: ich wollte ursprünglich "mein Vorredner" schreiben, das schien mir dann zu formell und habe aus Vorredner "Oberschlumpf" gemacht ... das "mein" habe ich dann eben stehen lassen ....
Gruß Regina
Anzeige
AW: Modul per VBA Code einfügen
30.03.2022 09:52:04
Herbert_Grom
Keine Ausreden! Kaffee-Angebot ist gemacht und ich will Ergebnisse sehen! ;o)=)
AW: Modul per VBA Code einfügen
30.03.2022 09:56:19
Oberschlumpf
aber der Name unseres BABYS bleibt geheim...psssssssstttttttt......hihihi
AW: Modul per VBA Code einfügen
30.03.2022 09:58:53
Herbert_Grom
Egal, aber Hans muss der Taufpate werden!
Anzeige
LOL...ohne Worte! :-P :-)
30.03.2022 10:01:07
Oberschlumpf
AW: LOL...ohne Worte! :-P :-)
30.03.2022 11:29:45
ReginaR
... wie gut, dass ich aus dem Thema "Kinder" schon raus bin :-))))))
Gruß Regina
AW: Modul per VBA Code einfügen
30.03.2022 09:59:28
Oberschlumpf
Regina, wenn du jetzt - nicht - kalte Füße bekommen hast...hihi...kannste mich ja mal anschreiben, Mails an geldfuerwerbungATnurfuerspam.de
anstelle von AT = das übliche Zeichen
:-))
Anzeige
AW: Modul per VBA Code einfügen
30.03.2022 11:30:47
ReginaR
... kalte Füße, ich? Nie! Mail kommt.
Gruß Regina
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Modul per VBA Code einfügen


Schritt-für-Schritt-Anleitung

Um ein Excel-Modul per VBA-Code einzufügen, musst du das Modul zuerst exportieren und dann wieder importieren. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Erstelle einen neuen Ordner für den Export des Moduls. Zum Beispiel: C:\Test

  2. Füge den folgenden VBA-Code ein, um das Modul zu exportieren:

    Sub export_modul()
       MkDir "C:\Test"
       ThisWorkbook.VBProject.VBComponents("Modul1").Export _
       "C:\Test\Modul1.bas"
    End Sub
  3. Importiere das Modul in die Zieldatei mit dem folgenden Code:

    Sub import_modul()
       Dim str_name As String
       str_name = Dir("C:\Test\*.*")
       Do While str_name <> ""
           Workbooks("Test.xlsm").VBProject.VBComponents.Import _
           "C:\Test\" & str_name
           Kill "C:\Test\" & str_name
           str_name = Dir
       Loop
    End Sub
  4. Führe zuerst das Export-Skript aus, dann das Import-Skript, um das Modul erfolgreich in die Excel-Datei einzufügen.


Häufige Fehler und Lösungen

  • Zugriffsfehler: Um VBA-Code in Excel einfügen zu können, musst du sicherstellen, dass der Zugriff auf das VBA-Projekt in den Makrosicherheitseinstellungen erlaubt ist. Gehe zu Datei -> Optionen -> Trust Center -> Einstellungen für das Trust Center -> Makroeinstellungen und aktiviere die Option.

  • Ordner nicht erstellt: Wenn der Ordner nicht erstellt werden kann, stelle sicher, dass du die entsprechenden Berechtigungen hast, oder wähle einen anderen Speicherort in deinem Benutzerverzeichnis.

  • Modul nicht gefunden: Überprüfe, ob der Name des Moduls im Code korrekt angegeben ist. Der Name muss genau mit dem Namen im VBA-Projekt übereinstimmen.


Alternative Methoden

Eine alternative Methode besteht darin, das Modul direkt in die Excel-Datei zu importieren, ohne es vorher zu exportieren. Du kannst dazu die Methode vba import module verwenden, die es dir erlaubt, ein Modul direkt aus einer .bas-Datei in die Excel-Datei einzufügen.

Hier ist ein Beispiel:

Sub ImportModule()
    Workbooks("Test.xlsm").VBProject.VBComponents.Import "C:\Pfad\zu\deinem\Modul.bas"
End Sub

Praktische Beispiele

Ein praktisches Beispiel für den Einsatz könnte folgendermaßen aussehen:

  • Modul erstellen: Du möchtest ein Modul mit häufig verwendeten Funktionen anlegen, um die Wartung zu erleichtern. Erstelle ein Modul namens Funktionen und schreibe deine Funktionen hinein. Dann füge es mit dem oben beschriebenen Prozess in andere Excel-Dateien ein.

  • Excel-Code hinzufügen: Wenn du neue Funktionen oder Automatisierungen in einer Datei implementieren möchtest, kannst du diese einfach in das Modul einfügen.


Tipps für Profis

  • Kennwortschutz: Wenn dein VBA-Projekt durch ein Kennwort geschützt ist, stelle sicher, dass du den Schutz vor dem Import aufhebst. Ansonsten wird der Import fehlschlagen.

  • Debugging: Nutze die Debug.Print-Anweisung, um während des Imports den Status auszugeben. So kannst du überprüfen, ob alle Module erfolgreich importiert wurden.

  • Sicherheitseinstellungen: Achte darauf, dass die Sicherheitseinstellungen in Excel so konfiguriert sind, dass sie den Import von VBA-Modulen zulassen, um Probleme während des Vorgangs zu vermeiden.


FAQ: Häufige Fragen

1. Kann ich ein Modul direkt in die Excel-Datei einfügen, ohne es vorher zu exportieren? Ja, du kannst das Modul direkt importieren, indem du eine .bas-Datei verwendest und die Import-Methode anwendest.

2. Was passiert, wenn der Ordner nicht erstellt werden kann? Stelle sicher, dass du über die nötigen Berechtigungen verfügst, oder wähle einen anderen Speicherort, der für deinen Benutzer zugänglich ist.

3. Wie kann ich sicherstellen, dass meine Makros sicher sind? Achte darauf, dass du alle Makros digital signierst, um die Sicherheit zu erhöhen und die Benutzer vor möglichen Risiken zu schützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige