Office - Word, Excel und Co. 9.703 Themen, 40.813 Beiträge

Excel 2010: Zeichenketten umkehren

Olaf19 / 24 Antworten / Flachansicht Nickles

Hallo zusammen!

Ich benötige eine Funktion, die in Excel 2010 Zeichenketten umkehrt, also alle Buchstaben, Zahlen etc. in gespiegelter Reihenfolge anzeigt. Bisschen herumgegooglet und diese, von einem MS-Excel-MVP gepostete Lösung gefunden:

Public Function Spiegeln(rngZelle As Range) As Variant
Spiegeln = StrReverse(rngZelle.Text)
End Function

Siehe auch hier: http://www.office-loesung.de/ftopic115835_0_0_asc.php

Visual Basic geöffnet, Modul hinzugefügt, Code einkopiert und die Mappe als .xlsm-Datei gespeichert - so weit, so gut. Schreibe ich jetzt aber einen String in Zelle A1 und hinterlege in B1 die Formel =Spiegeln(A1), erhalte ich den Fehler #NAME?

Nun datiert dieser Tipp von 2006 und meine Officeversion ist von 2010. Hat sich seitdem irgendetwas an der Syntax von VBA-Befehlen geändert, oder was könnte da sonst falsch gelaufen sein?

THX!
Olaf

"Das sind Leute, die von Tuten und Ahnung keine Blasen haben" (ein Reporter auf die Frage nach der politischen Bildung des typischen Anhangs von Donald Trump)
bei Antwort benachrichtigen
neanderix Nachtrag zu: „Wie gesagt: Das Modul heisst Spiegeln die darin enthaltene ...“
Optionen

Hi Olaf,

ich habe es gerade eben getest. Ergebnis:

1. Man kann ein Modul beliebig umbenennen, es klappt immer - aber

2. ein Modul darf nicht denselben Namen haben, wie eine in diesem oder einem anderen in der Mappe enthaltenen Modul enthaltene Funktion.

Heist auf Deutsch:

Solange das Modul entweder den Standardnamen (also z.B: Modul1) oder einen Namen wie "Olaf10Speziellefunktionen" oder "Meine Besonderenfunktionen" oder "MeineProgrammierVersuche" heist, ist alles in Ordnung.

Sobald du aber, wie im aktuellen Fall, eine funktion namens "Spiegeln" im modul hast, und dann das Modul "Spiegeln" nennst, "knallt es"

Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen