Como inserir o CR antes do padrão de texto #: ## no texto da célula do Excel

0

Eu tenho grandes quantidades de texto nas células de uma planilha Excel de várias linhas. Os blocos de texto nas células são divididos por carimbos de data / hora, por exemplo, "16:43" ou, em alguns casos, "16:43". Gostaria de analisar os carimbos de hora e inserir um CHR(10) antes dos carimbos de hora.

Antes:

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

Depois:

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
    
por OKS 04.04.2017 / 22:04

1 resposta

0

Esta pequena UDF () verifica uma string de entrada ao contrário, procurando por dois-pontos.

Quando encontrar dois pontos, insere um CHR (10) no local apropriado antes dos dois pontos:

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

Ele pode lidar com horas de um e dois dígitos.
Certifique-se de que a célula de saída esteja formatada com quebra em .
Outra abordagem é usar Regex.

    
por 05.04.2017 / 03:58