Zeichen in einer langen Zeichenfolge auseinander ziehen (Microsoft Excel)
John hat ein Arbeitsblatt, das in Spalte A eine große Anzahl sehr langer Textzeichenfolgen enthält. Er muss die ersten 249 Zeichen einzeln aus jeder Zeichenfolge ziehen und in jeder Zelle rechts von der Zeichenfolge ein einzelnes Zeichen platzieren.
Es gibt verschiedene Möglichkeiten, wie Sie diese Aufgabe ausführen können. Mit einer einfachen Formel ist das ganz einfach. Wenn sich Ihre erste Textzeichenfolge beispielsweise in Zelle A1 befindet, setzen Sie die folgende Formel rechts in Zelle B1:
=MID($A1,COLUMN()-1,1)
Diese Formel verwendet Excel-Arbeitsblattfunktionen, um die Textzeichenfolge auseinander zu ziehen. Die COLUMN-Funktion gibt in diesem Fall den Wert 2 zurück, da sich die Formel in Spalte B befindet und dies die zweite Spalte im Arbeitsblatt ist.
Dieser Wert wird um 1 dekrementiert und dann als Zeiger auf die Zeichenfolge in Zelle A1 verwendet, um zu markieren, woher das extrahierte Zeichen stammen soll. Wenn Sie diese Formel richtig kopieren, erhalten Sie für beliebig viele Zellen einzelne Zeichen aus der Zeichenfolge in aufeinanderfolgender Reihenfolge.
Wenn Sie (wie John) einige Zeichenfolgen im Arbeitsblatt haben, kann das Kopieren dieser Formel über 249 Spalten und beispielsweise mehrere hundert Zeilen zu einem sehr trägen Arbeitsblatt führen. In solchen Situationen kann es wünschenswert sein, anstelle einer Formel ein Makro zum Aufteilen der Zeichenfolgen zu verwenden. Das folgende Makro, SplitUp, ist ein Ansatz, um das eigentliche Zerreißen durchzuführen.
Sub SplitUp() Dim c As Range Dim r As Range Dim sTemp As String Dim z As Integer Set r = Range("A1", Range("A65536").End(xlUp)) For Each c In r sTemp = Left(c, 249) For z = 1 To Len(sTemp) c.Offset(0, z) = Mid(sTemp, z, 1) Next z Next End Sub
Das Makro definiert zunächst einen Bereich (r), der aus allen Zellen in Spalte A besteht, die Werte enthalten. Die Variable c wird dann verwendet, um jede Zelle im Bereich darzustellen, und die ersten 249 Zeichen werden aus jeder Zelle gezogen. Eine For … Next-Schleife wird dann verwendet, um jedes Zeichen aus der Zeichenfolge zu ziehen und in eine Zelle rechts von der Zeichenfolge einzufügen.
_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 (2790) 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: