So fügen Sie CR vor dem Textmuster #: ## in Excel-Zellentext ein

385
OKS

Ich habe große Mengen an Text in Zellen einer mehrzeiligen Excel-Tabelle. Die Textblöcke in den Zellen werden durch Zeitstempel, z. B. „16:43“ oder in einigen Fällen „16:43 PM“, unterbrochen. Ich möchte die Zeitstempel analysieren und CHR(10)vor den Zeitstempeln einen einfügen .

Vor:

3:33 AM Waiting for customer permission to remote control desktop.3:33 AM Remote Control successfully initiated.3:35 AM Remote Control ended.3:36 AM Remote Control successfully initiated.3:40 AM The connection to the customer was lost. This session will reconnect if and when the customer reestablishes a network connection.3:40 AM Disconnected (Applet)3:40 AM Remote Control ended.3:45 AM Connecting to: control.app02-01.l 

Nach dem:

3:33 AM Waiting for customer permission to remote control desktop. 3:33 AM Remote Control successfully initiated. 3:35 AM Remote Control ended.3:36 AM Remote Control successfully initiated. 3:40 AM The connection to the customer was lost. This session will reconnect if and when the customer reestablishes a network connection. 3:40 AM Disconnected (Applet) 3:40 AM Remote Control ended.3:45 AM Connecting to: control.app02-01.l 
0
(1) Warum haben Sie Ihr Beispiel geändert, um leere Zeilen zwischen den Textzeilen zu haben? Ist es das was du willst? Wenn ja, bitte [bearbeiten] die Frage dazu. (2) Sie haben in Ihren Beispieldaten einige Zeitstempel versäumt. (3) Können wir in jeder Zelle eine maximale Anzahl von Zeitstempeln annehmen? (4) Hast du etwas versucht? Was? (5) Was ist das große Bild davon, wie Sie diese Funktionalität nutzen möchten? Möchten Sie (a) einmal, (b) gelegentlich, auf Anforderung oder (c) kontinuierlich ausführen (dh die Ausgabe sollte sich sofort ändern, wenn sich die Eingabe ändert)? (6) Bevorzugen Sie eine Arbeitsblattfunktion gegenüber VBA? Scott vor 7 Jahren 0

1 Antwort auf die Frage

0
Gary's Student

Diese kleine UDF () scannt eine Eingabezeichenfolge rückwärts und sucht nach einem Doppelpunkt.

Wenn es einen Doppelpunkt findet, fügt es eine CHR (10) an der entsprechenden Stelle vor dem Doppelpunkt ein:

Public Function Fragment(sIN As String) As String Dim L As Long, i As Long Dim temp As String, CH As String L = Len(sIN) temp = "" For i = L To 1 Step -1 CH = Mid(sIN, i, 1) If CH <> ":" Then temp = CH & temp Else temp = CH & temp i = i - 1 temp = Mid(sIN, i, 1) & temp i = i - 1 CH = Mid(sIN, i, 1) If IsNumeric(CH) Then temp = Chr(10) & CH & temp Else temp = CH & Chr(10) & temp End If End If Next i Fragment = temp End Function 

Es kann sowohl ein- als auch zweistellige Stunden verarbeiten.
Stellen Sie sicher, dass die Ausgangszelle mit Wrap formatiert auf .
Ein anderer Ansatz ist die Verwendung von Regex.