Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Modul per VBA umbenennen

Modul per VBA umbenennen
27.09.2018 10:06:57
Gudo
Hallo Ihr Lieben,
ist zwar eine Frage zu Access, aber das zu lösende Problem möchte ich über VBA lösen und Ihr seid die Besten :-)
Im Rahmen einer Import-Funktion möchte ich die bestehenden VBA-Module umbenennen (zb. modul1 in modul1bak). Das ganze muss ohne Usereingriff vonstatten gehen (die Access-DB wird als Runtime ausgeführt).
Die Möglichkeit über den VBA-Editor und das Eigenschaftsfenster ist mir bekannt, aber wie kann ich das in VBA-Code abbilden?
Habt Ihr da Ideen? Die Google-Akademie schmeißt nix sinnvolles raus (wird immer auf den VBA-Editor verwiesen und man könne das manuell machen - passt nicht für meine Zwecke :-( )
Danke Euch
Guido
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Modul per VBA umbenennen
27.09.2018 10:17:25
Daniel
HI
in Excel kannst du ein Excel-Modul per VBA so umbenennen:
ThisWorkbook.VBProject.VBComponents("yyy").Name = "zzz"
Gruß Daniel
AW: Modul per VBA umbenennen
27.09.2018 10:38:50
Gudo
Hallo Daniel,
Danke für die schnelle Antwort. Der Code ist zwar - leider - nicht 1:1 übernehmbar, aber jetzt hab ich zumindest einen Ansatz :-)
Gruß
Guido
Anzeige
AW: Modul per VBA umbenennen
27.09.2018 12:45:07
Gudo
Hallo,
ich habe hierzu einen vielversprechenden Link gefunden:
http://www.team-moeller.de/?Tipps_und_Tricks:Rund_um_die_VB-IDE:Vorhandenes_Modul_umbenennen)
Könnte klappen:
Public Sub ModulUmbenennen(strNameAlt As String, strNameNeu As String)
Application.VBE.ActiveVBProject.VBComponents(strNameAlt).Name = strNameNeu
End Sub
Mal testen
Gruß
Guido
Anzeige
AW: Modul per VBA umbenennen
27.09.2018 13:08:47
Gudo
grad in Excel getestet - funktioniert!
Glaube, dass durch Verwendung von Application hier die allgemeinere Form ist. "ThisWorkbook" gilt ja nur für Excel :-)
Aber:
Damit dieser Code funktioniert, ist folgender Verweis erforderlich:
•Microsoft Visual Basic for Applications Extensibility 5.3
Anzeige
;

Forumthreads zu verwandten Themen

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

VBA-Modul umbenennen in Excel und Access


Schritt-für-Schritt-Anleitung

Um ein VBA-Modul in Excel oder Access per VBA umzubenennen, kannst Du die folgende Methode verwenden. Achte darauf, dass der Verweis auf "Microsoft Visual Basic for Applications Extensibility 5.3" gesetzt ist.

  1. Öffne den VBA-Editor (Alt + F11).
  2. Gehe zu "Extras" > "Verweise" und aktiviere "Microsoft Visual Basic for Applications Extensibility 5.3".
  3. Füge den folgenden Code in ein Modul ein:
Public Sub ModulUmbenennen(strNameAlt As String, strNameNeu As String)
    Application.VBE.ActiveVBProject.VBComponents(strNameAlt).Name = strNameNeu
End Sub
  1. Rufe die Sub-Prozedur auf, indem Du die alten und neuen Modulnamen übergibst:
Sub Beispiel()
    ModulUmbenennen "modul1", "modul1bak"
End Sub

Häufige Fehler und Lösungen

Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs."
Lösung: Stelle sicher, dass der alte Modulname korrekt angegeben ist und das Modul existiert.

Fehler: "Verweis auf Microsoft Visual Basic for Applications Extensibility 5.3 fehlt."
Lösung: Überprüfe die Verweise im VBA-Editor und aktiviere den genannten Verweis.


Alternative Methoden

Eine alternative Möglichkeit, ein Modul in Excel oder Access umzubenennen, wäre die Verwendung des VBA-Editors manuell, doch dies erfordert Usereingriffe. Um den Prozess zu automatisieren, ist es sinnvoll, den oben genannten VBA-Code zu nutzen, um VBA-Module programmgesteuert umzubenennen.


Praktische Beispiele

Hier sind zwei Beispiele, wie Du ein Modul umbenennen kannst:

  1. In Excel:
Sub ExcelModulUmbenennen()
    ModulUmbenennen "Modul1", "Modul1Bak"
End Sub
  1. In Access:
Sub AccessModulUmbenennen()
    ModulUmbenennen "ModulA", "ModulABak"
End Sub

Beide Sub-Prozeduren erhalten den alten Modulnamen und den gewünschten neuen Modulnamen.


Tipps für Profis

  • Es ist hilfreich, die Modulnamen systematisch zu benennen, um Verwirrung zu vermeiden.
  • Du kannst auch eine Schleife implementieren, um mehrere Module auf einmal umzubenennen.
  • Teste den Code in einer sicheren Umgebung, bevor Du ihn in Produktionsdateien anwendest.

FAQ: Häufige Fragen

1. Kann ich auch Module in Access mit diesem Code umbenennen?
Ja, der Code funktioniert sowohl in Excel als auch in Access, solange der Verweis auf die Extensibility gesetzt ist.

2. Was ist der Unterschied zwischen ThisWorkbook und Application?
ThisWorkbook bezieht sich auf das aktuelle Arbeitsbuch in Excel, während Application allgemeiner ist und für verschiedene Office-Anwendungen verwendet werden kann.

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