Verwenden von Suchen und Ersetzen zum Voranhängen von Zeichen (Microsoft Excel)
Mel möchte oft einen Charakter an den Anfang dessen setzen, was sich in einer Reihe von Zellen befindet. Beispielsweise möchte er möglicherweise einen Buchstaben am Anfang eines Textes einfügen (so wird „123“ zu „A123“ und „xyz“ wird zu „Axyz“), oder er möchte einen Apostroph hinzufügen (so wird „123“ zu „‚ 123 „und“ xyz „
werden zu“ ‚xyz „). Mel fragt sich, ob dies mit Suchen und Ersetzen möglich ist.
Die kurze Antwort ist, dass es nicht kann. Die Funktionen zum Suchen und Ersetzen in Excel sind eingeschränkter als in Word, wo Sie nach Platzhaltern suchen und den Text „Suchen nach“ in dem ersetzten Text verwenden können. (Dies sind nur zwei Beispiele für Funktionen, die in Excel zum Suchen und Ersetzen fehlen.)
Eine mögliche Antwort besteht darin, Ihre Daten nach Word zu kopieren, die Änderungen mithilfe von Suchen und Ersetzen vorzunehmen und die Daten dann zurück zu kopieren. Natürlich laufen Sie Gefahr, Ihre Formatierung während des Roundtrips zu verlieren, einen Teil Ihrer Präzision zu verlieren und alle Ihre Formelergebnisse in statische Werte umzuwandeln. Für viele Benutzer sind dies keine akzeptablen Risiken.
Eine weitere Option ist die Verwendung der Verkettungsfunktionen von Excel. Befinden sich die Werte, die Sie vorab anhängen möchten, beispielsweise in Spalte A (beginnend mit A1), verwenden Sie eine Formel wie diese in Spalte B:
="A" & A1
Das Ergebnis setzt den Buchstaben A vor allem in A1. Dies funktioniert, um alles außer einem Apostroph vorzubereiten. Der Versuch, ein Apostroph vorzuhängen, führt zu ‚123 oder‘ xyz, aber das Apostroph ist in der Zelle sichtbar. Das Ergebnis ist für Excel nicht dasselbe wie die Eingabe eines Apostrophs gefolgt von 123 oder eines Apostrophs gefolgt von xyz. (Beim Tippen gibt der Apostroph an, dass der Zellinhalt als Text behandelt werden soll, und der Apostroph ist nur in der Formelleiste sichtbar, nicht in der Zelle selbst.)
Wenn Sie die Werte in einer Reihe von Zellen tatsächlich ändern möchten (was ein Wunsch nach Suchen und Ersetzen nahe legen würde), können Sie nur ein Makro verwenden, um Ihre Änderungen vorzunehmen. Wenn Sie Zellen, die mit einem festgelegten Wert (z. B. 123) beginnen, nur einen Buchstaben (z. B. A) voranstellen möchten, reicht ein einfaches Makro aus.
Sub Prepend1() ToFind = "123" ToFindLength=Len(ToFind) ToPrepend = "A" For Each rcell In Selection If LCase(Mid(rcell.Value, 1, ToFindLength)) = LCase(ToFind) Then rcell.Value = ToPrepend & rcell.Value End If Next End Sub
Beachten Sie, dass die ToFind-Variable den Anfangstext enthält, den Sie vorab anhängen möchten, und die ToPrepend-Variable enthält, was vor dieser Zeichenfolge angezeigt werden soll. Wenn Sie in diesem Fall einen Zellenbereich auswählen und das Makro ausführen, wird bei allem, was mit 123 beginnt (z. B. „123“ oder „12345“
oder „123D27X“), der Buchstabe A vor die Zelle.
Ein solches Makro hilft jedoch nicht, wenn Sie den Buchstaben vor jede Zelle im Bereich einfügen möchten, nicht nur diejenigen, die mit 123 beginnen.
In diesem Fall benötigen Sie einen anderen Ansatz.
Sub Prepend2() Dim rng As Range Dim c As Range Dim ToPrepend As String ToPrepend = "A" ' Process only text and number constants Set rng = Selection.SpecialCells(xlCellTypeConstants, 3) For Each c In rng c.Value = ToPrepend & c.Value Next c End Sub
Dieses Makro verwendet eine Teilmenge der Zellen, die Sie vor der Ausführung ausgewählt haben (nur die Zellen, die Text und numerische Werte enthalten), und fügt dann den Inhalt der ToPrepend-Variablen am Anfang der Zelle hinzu. Wenn Sie das Vorhergehende ändern möchten, ändern Sie einfach den Wert der Variablen. (Wenn Sie ToPrepend in ein Apostroph ändern, verhalten sich die Zellen, denen das Apostroph vorangestellt ist, genau so, als hätten Sie und Apostroph gefolgt vom Zellenwert eingegeben.)
_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 (3883) 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: