Alles bis zu einer Zeichenfolge löschen (Microsoft Excel)
Steven hat ein Arbeitsblatt mit viel Text. In den Zellen in Spalte A möchte er alles löschen, was vor einer bestimmten Zeichenfolge auftreten kann, z. B. alles vor = XX =. Es kann mehrere Instanzen dieser Zeichen in jeder Zelle geben, aber Steven möchte nur alles vor dem ersten Auftreten löschen.
Eine Möglichkeit, dies zu tun, besteht darin, eine Formel zu verwenden. Die folgende Formel wertet beispielsweise alles aus, was sich in Zelle A1 befindet, und gibt einfach alles bis zu den Zeichen = XX = zurück. Wenn die Zeichen nicht in der Zelle gefunden werden, wird die gesamte Zelle zurückgegeben:
=RIGHT(A1,IF(ISERROR(FIND("=XX=",A1,1)), LEN(A1),LEN(A1)-FIND("=XX=",A1,1)+1))
Wenn Sie stattdessen nicht das erste Vorkommen von = XX = zurückgeben möchten, müssen Sie lediglich +1 am Ende der Formel in -3 ändern.
Wenn Sie eine makrobasierte Lösung bevorzugen, können Sie eine Routine wie die folgende verwenden. Es untersucht alle aktuell ausgewählten Zellen und löscht dann alles vor der Sequenz = XX =.
Sub DeleteToSequence() Dim rCell As Range Dim sSeq As String Dim x As Long sSeq = "=XX=" For Each rCell In Selection x = InStr(rCell.Value, sSeq) If x > 0 Then rCell.Value = Mid(rCell, x) End If Next Set rCell = Nothing End Sub
Sie sollten sich bewusst sein, dass dieses Makro einige Fehler verursachen kann, insbesondere wenn das Gesuchte mit einem Gleichheitszeichen beginnt (wie in = XX =).
Wenn eine Zeichenfolge, die mit einem Gleichheitszeichen beginnt, wieder in die Zelle eingefügt wird, erhalten Sie einen #NAME? Fehler, weil Excel versucht, die Zelle so zu analysieren, als ob sie eine Formel enthält.
Wenn Sie alles in der Zeichenfolge löschen möchten, verwenden Sie diese Zeile in der Mitte der Routine:
rCell.Value = Mid(rCell, x + Len(sSeq))
_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 (7696) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: