Excel VBA #Name durch..?

1 Antwort

Das hängt davon ab wo deine Sub/Funktion hinterlegt ist im VBA Projekt. Man kann ja VBA Code an "DieseArbeitsmappe" binden, an das Arbeitsblatt (Tabelle) selbst, an eine UserForm (falls vorhanden), oder an das externe Modul (hier "Modul1"). In jeder kann es deine gleichnamige Sub/Funktion geben als VBA Code.

Bild zum Beitrag

Deswegen muss man unter Umständen beim Aufruf VBA schon die Info mitgeben, wo er diese Funktion findet, ansonsten bekommst du beim Call der Sub/Funktion einen #Name Fehler. Du greifst dann auf den falschen Bereich zu, wo diese Sub/Funktion eben nicht existiert.

Die Sub/Funktion Tabelle1.Test() ist eben nicht gleich Test().

Du kannst das streckenweise umgehen, in dem du die Sub/Funktion gezielt als öffentlich (Public) deklarierst: "Public Function Test()". Ohne Angabe sind es üblicherweise "Private Funtion Test()" (wenn ich mich korrekt erinnere) und damit nur dort bekannt, wo diese hinterlegt sind und benötigen dann bei einem Call außerhalb seines Bereiches eine direkte Aufforderung, wie bspw. Tabelle1.Test()

Ich hoffe, ich hab es verständlich erklärt. Bin jetzt auch kein totaler VBA Crack.

 - (Computer, Name, Fehler)

jumbo23 
Beitragsersteller
 20.05.2022, 16:53

Vielen Dank, war sehr hilfreich :)