Desloca os valores da célula não vazia para as células vazias mais próximas à esquerda

0

Eu tenho muitas linhas formatadas assim:

COLS : A | B | C | D | E
  01 : 1 |   | 8 | 3 |
  02 :   | 3 | 2 | 4 | 7
  03 : 9 |   | 5 |   | 6

Como posso deslocar os valores para a esquerda para não ter células vazias? O objetivo é:

COLS : A | B | C | D | E
  01 : 1 | 8 | 3 |   |
  02 : 3 | 2 | 4 | 7 |
  03 : 9 | 5 | 6 |   | 
    
por Onilol 05.10.2016 / 22:24

2 respostas

1

Verifique se você tem apenas uma única célula selecionada.

  1. Pressione F5
  2. Clique no botão "Especial ..."
  3. Selecione "Blanks" e clique em OK
  4. Clique com o botão direito e selecione "Excluir ..."
  5. Selecione a opção "Shift cells left" e pressione OK

Estou usando o 2010, então pode ser um pouco diferente para 2013, mas espero que seja mais ou menos o mesmo.

    
por 05.10.2016 / 22:37
0

Algo como:

Sub DataCompactor()
    Dim iRows As Long, iCol As Long
    Dim i As Long, j As Long, r As Range

    iRows = 3
    iCols = 5

    For i = 1 To iRows
        For j = iCols To 1 Step -1
            Set r = Cells(i, j)
            If r.Value = "" Then r.Delete Shift:=xlToLeft
        Next j
    Next i
End Sub

Se as células estiverem realmente vazias, você pode usar SpecialCells e evitar os loops.

EDIT # 1:

As macros 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 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

Você deve alterar o 3 e 5 para corresponder à estrutura de dados real.

Para remover a macro:

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

Para usar a macro do Excel:

  1. ALT-F8
  2. Selecione a macro
  3. Toque em EXECUTAR

Para saber mais sobre macros em geral, consulte:

link

e

link

As macros devem estar ativadas para que isso funcione!

    
por 05.10.2016 / 22:26