Excelのセルテキストでテキストパターン#:##の前にCRを挿入する方法


0

複数行のExcelスプレッドシートのセルに大量のテキストがあります。セル内のテキストブロックは、タイムスタンプ、例えば「16:43」または場合によっては「4:43 PM」によって分割される。タイムスタンプを解析して、 CHR(10) タイムスタンプの前に。

前:

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

後:

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

(1)テキストの行間に空白行を入れるように例を変更したのはなぜですか?それはあなたが欲しいものですか?もしそうなら、どうぞ 編集する そう言う質問です。 (2)あなたはあなたの例のデータにいくつかのタイムスタンプを逃しました。 (3)各セルのタイムスタンプの最大数を仮定することはできますか? (4)何か試しましたか?何? (5)この機能をどのように使用したいかの全体像は何ですか? (a)1回、(b)時折、要求に応じて、または(c)継続的にそれを実行しますか(つまり、入力が変更されるたびに出力は即時に変更されます)。 (6)ワークシート機能とVBAのどちらを好みますか?
Scott

回答:


0

この小さい UDF() コロンを探して、入力文字列を逆方向にスキャンします。

コロンが見つかると、 CHR(10) コロンの前の適切な場所で:

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

enter image description here

1桁と2桁の両方の時間を処理できます。
出力セルが折り返しでフォーマットされていることを確認してください。
もう一つのアプローチは使うことです 正規表現

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.