Versuchen Sie, die folgende U ser D efined F unktion (UDF)
Public Function Equals(inpt As String) As String Equals = "" ary = Split(Application.WorksheetFunction.Trim(inpt), " ") For Each a In ary If InStr(1, a, "=") > 0 Then Equals = a Exit Function End If Next a End Function
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ügen Sie das Zeug ein und schließen Sie das VBE-Fenster
Wenn Sie die Arbeitsmappe speichern, wird die UDF damit gespeichert. Wenn Sie später als 2003 eine Version von Excel verwenden, müssen Sie die Datei als .xlsm statt 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:
= gleich (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
und Einzelheiten zu UDFs finden Sie unter:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
Makros müssen aktiviert sein, damit dies funktioniert!
EDIT # 1:
Sie können dies ohne VBA mit derselben Methode tun . Bei Daten in A1 geben Sie in C1 ein:
=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
und rüber kopieren. Dann in B1 eingeben:
=INDEX(C1:IV1,MATCH("*=*",C1:IV1,0))