Espaçamento entre linhas do Excel dentro de uma única célula [fechada]

-1

Supostamente, este é o dado de uma única célula A1:

Score     Remarks
1-10     25
  25-38      jk
 100-150   merry

Eu preciso de um atalho onde eu possa Alinhar de tal maneira que o espaçamento entre os dados seja uniforme.

Score     Remarks
1-10      25
25-38     jk
100-150   merry 

Eu preciso disso assim. NOTA: Não sugira usar SpaceBars no meio, e se os dados forem enormes?

    
por Hussain 09.05.2017 / 19:02

2 respostas

2

Experimente a seguinte função definida pelo usuário:

Public Function PrettyOutput(sIN As String) As String
    Dim hr As String, i As Long, maxL As Long
    Dim U As Long

    hr = Chr(10)
    If InStr(1, sIN, hr) = 0 Then
        PrettyOutput = sIN
        Exit Function
    End If

    ary = Split(sIN, hr)
    U = UBound(ary)
    For i = 0 To U
        ary(i) = Application.WorksheetFunction.Trim(ary(i))
    Next i

    maxL = 0
    For i = 0 To U
        bry = Split(ary(i), " ")
        If Len(bry(0)) > maxL Then maxL = Len(bry(0))
    Next i

    For i = 0 To U
        bry = Split(ary(i), " ")
        PrettyOutput = PrettyOutput & bry(0) & Application.WorksheetFunction.Rept(" ", maxL - Len(bry(0))) & " " & bry(1) & hr
    Next i
    PrettyOutput = Mid(PrettyOutput, 1, Len(PrettyOutput) - 1)
End Function

Funções Definidas pelo Usuário (UDFs) são muito fáceis de instalar e usar:

  1. ALT-F11 exibe a janela do VBE
  2. ALT-I ALT-M abre um novo módulo
  3. cole o material e feche a janela do VBE

Se você salvar a pasta de trabalho, a UDF será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm em vez de .xlsx

Para remover o UDF:

  1. abrir a janela do VBE como acima
  2. limpe o código
  3. feche a janela do VBE

Para usar o UDF do Excel:

= minha função (A1)

Para saber mais sobre macros em geral, consulte:

link

e

link

e para detalhes sobre UDFs, consulte:

link

As macros devem estar ativadas para que isso funcione!

Portanto, com dados em A1 , em B1 digite:

=PrettyOutput(A1)

e formatar B1 com uma fonte como Courier :

    
por 09.05.2017 / 20:36
0

Dados - > Texto para colunas é o que parece que você quer. Não tente manter tudo em uma célula, divida-a entre várias células.

    
por 09.05.2017 / 19:18