Formato de célula customizado para o endereço IP para forçar zeros à esquerda?

4

Eu tenho uma coluna de endereços IP que quero classificar. Eu não quero usar colunas ocultas como esta resposta . O que eu gostaria de fazer é simplesmente formatar as células para que elas forcem zeros à esquerda. Por exemplo, se eu inserir 192.168.1.1 , ele mostrará 192.168.001.001 .

Não sou muito bom com formatos personalizados, mas tentei ###.###.###.### sem sorte.

Isso é possível?

    
por Scott Beeson 19.06.2018 / 16:23

1 resposta

4

Selecione as células que contêm os endereços e execute esta macro curta:

Sub IPFixer()
    Dim r As Range, arr

    For Each r In Selection
        arr = Split(r.Value, ".")
        For i = 0 To 3
            arr(i) = Format(arr(i), "000")
        Next i
        r.Value = Join(arr, ".")
    Next r
End Sub

Antes:

edepois:

EDIT#1:

DigamosquequeremosqueessaconversãosejaaplicadaautomaticamenteàsentradasnacolunaA.Incluaaseguintemacrodeeventosnaáreadecódigodaplanilha:

PrivateSubWorksheet_Change(ByValTargetAsRange)DimrAsRange,rIntAsRangeSetrInt=Intersect(Range("A:A"), Target)
    If rInt Is Nothing Then Exit Sub
    Application.EnableEvents = False
        For Each r In rInt
                arr = Split(r.Value, ".")
                For i = 0 To 3
                    arr(i) = Format(arr(i), "000")
                Next i
                r.Value = Join(arr, ".")
        Next r
    Application.EnableEvents = True
End Sub

Por ser um código de planilha, é muito fácil de instalar e usar automaticamente:

  1. clique com o botão direito do mouse no nome da guia próximo à parte inferior da janela do Excel
  2. selecione Exibir código - isso abre uma janela do VBE
  3. cole o material e feche a janela do VBE

Se você tiver alguma dúvida, tente primeiro em uma planilha de teste.

Se você salvar a pasta de trabalho, a macro 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 a macro:

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

Para saber mais sobre macros em geral, consulte:

link

e

link

Para saber mais sobre macros de eventos (código da planilha), consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 19.06.2018 / 18:28