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

Forumthread: Benutzten Makro-Namen in VBA auslesen

Benutzten Makro-Namen in VBA auslesen
TommiH
Hallo,
nachdem ich dank dem Forum raus habe, wie ich die Eigenschaften einer Excel-Datei manipuliere
z.B.
ActiveWorkbook.BuiltinDocumentProperties("Comments").Value = "Der Makroname ist : " & ?
wollte ich nun noch einen Schritt weitergehen und direkt den Namen des benutzten Makros eingeben. Also nicht einen beliebigen Text, sondern das Makro soll nach Aufruf SEINEN Namen an eine bestimmte Stelle schreiben.
Kann man den Namen irgendwie auslesen?
Tommi
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Geht nicht! o.T.
15.02.2012 11:17:31
Josef
« Gruß Sepp »

AW: Geht nicht! o.T.
15.02.2012 13:03:08
TommiH
Uh, wirklich keine Lösung?
Es bleibt also wirkich nur, das ich in jedem Makro direkt eintrage, was ich dort stehen haben will und keinen C&P-Code nehmen kann, den ich einfach in das Makro immer reinkopieren kann.
Okay - Thx für die Info!
Tommi
Anzeige
AW: Geht nicht! o.T.
15.02.2012 13:04:44
Josef

Hallo Tommi,
keine Chance, VBA bietet keine Möglichkeit, den Namen der gerade aktiven Prozedur zu ermitteln.

« Gruß Sepp »

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Benutzten Makro-Namen in VBA auslesen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor in Excel, indem Du ALT + F11 drückst.

  2. Füge ein Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (dein Dokument)" und wähle Einfügen > Modul.

  3. Schreibe das Makro: Du kannst das folgende Beispiel verwenden, um den Namen des aktiven Makros zu speichern:

    Sub MeinMakro()
       Dim makroName As String
       makroName = "MeinMakro" ' Hier den Namen des Makros eintragen
       ActiveWorkbook.BuiltinDocumentProperties("Comments").Value = "Der Makroname ist: " & makroName
    End Sub
  4. Führe das Makro aus: Klicke im VBA-Editor auf Run oder drücke F5, um das Makro auszuführen.

  5. Überprüfe die Kommentare: Gehe zurück zu Excel und schaue in die Dokumenteigenschaften, um den eingefügten Kommentar zu sehen.


Häufige Fehler und Lösungen

  • Fehler: „Objekt nicht gefunden“

    • Lösung: Stelle sicher, dass Du das Makro korrekt benannt hast und es in dem richtigen Modul gespeichert ist.
  • Problem: Kommentare werden nicht aktualisiert

    • Lösung: Überprüfe, ob Du die richtigen Berechtigungen für das Dokument hast. Manchmal kann es an eingeschränkten Berechtigungen liegen.

Alternative Methoden

Wenn Du den benutzten Makro-Namen nicht direkt auslesen kannst, gibt es alternative Wege:

  • Verwendung von Konstanten: Du kannst die Makronamen in Konstanten definieren und diese in Deinen Makros verwenden.

    Const makroName As String = "MeinMakro"
  • VBA Computername auslesen: Um zusätzliche Informationen, wie z.B. den Computername, zu erhalten, kannst Du folgendes verwenden:

    Dim computerName As String
    computerName = Environ("COMPUTERNAME")
    ActiveWorkbook.BuiltinDocumentProperties("Comments").Value = "Computername: " & computerName

Praktische Beispiele

Hier sind einige Beispiele, um die Verwendung des Makronamens und des Computernamens zu demonstrieren:

  1. Makroname speichern:

    Sub BeispielMakro()
       Dim makroName As String
       makroName = "BeispielMakro"
       ActiveWorkbook.BuiltinDocumentProperties("Comments").Value = "Aktuelles Makro: " & makroName
    End Sub
  2. Computername speichern:

    Sub ComputernameSpeichern()
       Dim computerName As String
       computerName = Environ("COMPUTERNAME")
       ActiveWorkbook.BuiltinDocumentProperties("Comments").Value = "Benutzer Computername: " & computerName
    End Sub

Tipps für Profis

  • Nutze Error Handling: Implementiere On Error Resume Next, um Laufzeitfehler zu vermeiden und um sicherzustellen, dass Dein Makro weiterläuft, auch wenn ein Fehler auftritt.
  • Dokumentiere Deine Makros: Füge Kommentare hinzu, um den Zweck und die Funktionsweise Deines Codes zu erklären. Das erleichtert die Wartung und das Verständnis.

FAQ: Häufige Fragen

1. Kann ich den Namen eines Makros dynamisch auslesen? Leider bietet VBA keine integrierte Funktion, um den Namen der aktuell aktiven Prozedur auszulesen.

2. Wie kann ich den Computername in ein Excel-Dokument einfügen? Du kannst den Computername mit Environ("COMPUTERNAME") auslesen und in die Dokumenteigenschaften einfügen, wie in den obigen Beispielen gezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige