Como preencher uma coluna inteira (não consistente) com base no valor anterior no Excel?

1

Então, digamos que eu tenha os seguintes valores:

A2=a, A5=b, A6=c, A10=d

Basicamente, quero concluir os valores anteriores da seguinte forma:

A2:A4=a,A5=b, A6:A9=c,A10:A99999=d

Eu tentei isso: inseri uma nova coluna à direita e fiz algo assim: =IF(A2="",A1,A2) , mas isso funciona apenas para as duas primeiras instâncias na coluna B, pois há mais lacunas e nem sempre há o mesmo número de lacunas. Estou perdendo algo obviamente.

Obrigado.

    
por Alex 06.12.2015 / 14:29

2 respostas

1

Você não precisa do VBA para isso, você quase o usou com sua própria fórmula. Você só precisa usar B1 em vez de A1. Então B2 conteria:

=IF(A2="",B1,A2)

    
por 07.12.2015 / 01:33
0

Experimente esta macro curta:

Sub FillDown()
   Dim rng As Range, r As Range
   Set rng = Range("A2:A99999")

   Application.ScreenUpdating = False
      For Each r In rng
         v = r.Value
         If v = "" Then r.Value = r.Offset(-1, 0)
      Next r
   Application.ScreenUpdating = True
End Sub

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

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 06.12.2015 / 15:45