2016-05-21 13 views
0

Die integrierten Funktionen von Excel sind mit GROß geschriebenen Zeichen versehen. Ich bin ein wenig OCD und wie meine benutzerdefinierten Arbeitsblattfunktionen, um UPPERCASE auch zu sein, genau wie die eingebauten Funktionen von Excel. Excel 2013 (und frühere Versionen) ändert jedoch gelegentlich den Fall meiner benutzerdefinierten Worksheet-Funktionen zu CamelCase oder Kleinbuchstaben, obwohl ich sie immer in VBA-Code als GROßBUCHSTABEN schreibe. Gibt es eine Arbeit um diesen Fehler zu beheben? Warum macht Excel das?Warum ändert Excel den Fall meiner benutzerdefinierten Arbeitsblattfunktion?

+0

Wenn Sie dem VBA-Projekt Referenzen hinzufügen, sucht der VBA-Code-Editor nach den Methoden- und Eigenschaftennamen in verbundenen Klassen. AFAIK können Sie solches Verhalten nicht ändern, die einzige Möglichkeit, die ich vorschlagen kann, ist, diese Verweise zu entfernen und späte Bindung ohne IntelliSense zu verwenden. – omegastripes

+0

Stimmen sie mit den Namen der vorhandenen Excel VBA-Funktionen überein? Hier im Dunkeln schießen. –

Antwort

0

Ich habe zumindest eine Problemumgehung gefunden. Sobald ich meine eigene benutzerdefinierte Funktion erstellt habe, gehen Sie in Excel und wählen Sie Formeln -> Definierte Namen -> Name definieren. Definieren Sie dann den Namen meiner benutzerdefinierten Funktion in GROSSBUCHSTABEN. Anscheinend spielt es keine Rolle, worauf sich der Name bezieht. Dies verursacht natürlich einen erwarteten Fehler. Wenn ich jedoch meine benutzerdefinierte Funktion anrufe, ist sie jetzt durchgehend GROSS geschrieben. Im zweiten Schritt wählen Sie Formeln -> Definierte Namen -> Name Manager und löschen den Namen der benutzerdefinierten Funktion. Voila! Jetzt erlaubt mir Excel, diese benutzerdefinierte Funktion perfekt und konsistent mit allen GROSSBUCHSTABEN aufzurufen. Zwei Probleme bleiben jedoch bestehen. Erstens würde ich es hassen, meine Benutzer mit diesem "Trick" zu belasten. Zweitens antwortet das immer noch nicht warum Excel verhält sich auf diese Weise. Vielleicht ist es ein Hinweis?