
Aus dem Folgenden möchte ich die Daten zwischen den Klammern extrahieren, wenn es sich nur um Zahlen handelt.
Nissan - X-Trail Launch (Mai) (Jun) - SO9158518 (65124817) Tourismus - Kurioses 2017 (Neuigkeiten) (44124469)
Antwort1
Versuchen Sie diese benutzerdefinierte Funktion:
Public Function parens(t As String) As String
Dim i As Long, L As Long, CH As String
Dim x As String, y As String, temp As String
Dim ary() As String, Kapture As Boolean, a As Variant
Dim j As Long
parens = ""
L = Len(t)
x = "("
y = ")"
Kapture = False
temp = ""
j = 1
For i = 1 To L
CH = Mid(t, i, 1)
If CH = x Then
Kapture = True
temp = ""
ReDim Preserve ary(1 To j)
j = j + 1
ElseIf CH = y Then
ary(UBound(ary)) = temp
Else
If Kapture Then temp = temp & CH
End If
Next i
For Each a In ary
If IsNumeric(a) Then
parens = a
Exit Function
End If
Next a
End Function
Es extrahiert eingeklammertes Material, bis es einen numerischen Wert findet.
Benutzerdefinierte Funktionen (UDFs) sind sehr einfach zu installieren und zu verwenden:
- ALT-F11 öffnet das VBE-Fenster
- ALT-I ALT-M öffnet ein neues Modul
- Füge das Material ein und schließe das VBE-Fenster
Wenn Sie die Arbeitsmappe speichern, wird die UDF mit gespeichert. Wenn Sie eine Version von Excel verwenden, die älter als 2003 ist, müssen Sie die Datei als .xlsm und nicht als .xlsx speichern.
So entfernen Sie die UDF:
- Öffnen Sie das VBE-Fenster wie oben
- Löschen Sie den Code
- Schließen Sie das VBE-Fenster
So verwenden Sie die UDF aus Excel:
=parens(A1)
Weitere Informationen zu Makros im Allgemeinen finden Sie unter:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
Und
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Einzelheiten zu UDFs finden Sie unter:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
Damit dies funktioniert, müssen Makros aktiviert sein!