Jelmer arbeitet mit vielen Finanzdaten, und die Informationen in einem Arbeitsblatt können in Währungen aus vielen Ländern vorliegen. Die einzige Möglichkeit, sie voneinander zu unterscheiden, ist das Währungssymbol, das beim Formatieren der Zelle verwendet wird. Beispielsweise kann eine Zelle so formatiert sein, dass sie das Währungssymbol „EUR“ oder „SEK“ verwendet. Jelmer fragt sich, ob es in einer Formel eine Möglichkeit gibt, das Währungssymbol zu bestimmen, mit dem eine bestimmte Zelle formatiert wird.

In Excel gibt es keine intrinsische Arbeitsblattfunktion, die das zurückgibt, was Sie suchen. Daher ist es nicht möglich, dies in einer Formel zu tun. Sie können jedoch eine eigene benutzerdefinierte Funktion erstellen, die die gewünschten Informationen zurückgibt. Hier ist ein Beispiel:

Function GetCurrency(rCell As Range) As String     Dim sTemp As String     Dim sKeep As String     Dim sThrowAway As String     Dim J As Integer

Application.Volatile     sKeep = "Not a Numeric Value"

If IsNumeric(rCell) Then         sThrowAway = "0123456789.,()+- ]"

sTemp = rCell.Text         sKeep = ""



For J = 1 To Len(sTemp)

If InStr(sThrowAway, Mid(sTemp, J, 1)) = 0 Then                 sKeep = sKeep & Mid(sTemp, J, 1)

End If         Next J     End If     GetCurrency = sKeep End Function

Um die Funktion zu verwenden, würden Sie Folgendes verwenden, vorausgesetzt, Sie möchten das Währungssymbol für alles, was sich in Zelle B7 befindet:

=GetCurrency(B7)

Dies funktioniert, weil die .Text-Eigenschaft für eine Zelle die formatierte Version von allem zurückgibt, was sich in der Zelle befindet. Angenommen, die Zelle enthält einen numerischen Wert (die Funktion testet dies), wird der formatierte Text der Variablen sTemp zugewiesen. Dann wird jedes Zeichen in diesem Text mit dem Zeichen in der sThrowAway-Zeichenfolge verglichen. Wenn eine Übereinstimmung vorliegt, wird das Zeichen ignoriert, andernfalls wird es der Variablen sKeep hinzugefügt.

Dies wird von der Funktion zurückgegeben.

Beachten Sie auch, dass eine Fehlermeldung („Kein numerischer Wert“) zurückgegeben wird, wenn die zu bewertende Zelle keinen numerischen Wert enthält.

Bei der Funktion ist Folgendes zu beachten: Wenn Sie die Formatierung einer Zielzelle ändern, wird das Makro nicht ausgelöst. Dies scheint ein Mangel von Excel selbst zu sein – es löst keine Neuberechnung des Arbeitsblatts aus, wenn Sie ein Format ändern, sodass das Makro selbst nicht ausgelöst wird.

Es wird jedoch ausgelöst, wenn Sie das nächste Mal eine Änderung am Arbeitsblatt vornehmen, für die eine Neuberechnung erforderlich ist.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (13787) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.