Excel substitui o valor com a mesma quantidade de caracteres

1

Estamos usando relatórios do Excel que são visíveis para todos os funcionários. A ideia é repor os valores da célula com o dígito "1". Eles podem ter uma indicação do valor, ou seja, centenas ou milhares, mas não a quantidade exata.

Aqui está um exemplo:

ORD          SUPPLY         RATE
3430         329961.25      95.07

Deve ser convertido para

ORD          SUPPLY         RATE
1111         111111.11      11.11

É possível e como? Eu tentei substituir e contar o número de dígitos para substituir, etc., mas não consegui chegar a uma resposta definitiva

    
por Boeta 28.11.2016 / 10:19

1 resposta

1

Selecione as células que você deseja converter e execute esta macro curta:

Option Explicit
Sub One_ification()
    Dim r As Range, v As String
    Dim L As Long, i As Long, CH As String

    For Each r In Selection
        v = r.Text
        L = Len(v)
        For i = 1 To L
            CH = Mid(v, i, 1)
            If CH Like "[0-9]" Then Mid(v, i, 1) = "1"
        Next i
        r.Value = v
    Next r
End Sub

Antes:

edepois:

    
por 28.11.2016 / 13:27