Vba: como preencher células vazias com um valor acima


Freqüentemente, você pode querer usar o VBA para preencher células vazias em uma planilha do Excel com os valores das células diretamente acima delas.

Para fazer isso, você pode usar a seguinte sintaxe básica:

 Sub Fill_From_Above()
  With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row)
    .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C "
    .Value = .Value
  End With
End Sub

Este exemplo específico preencherá todas as células vazias, desde a célula A2 , passando pela coluna B , até a última linha contendo um valor na coluna C.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: use VBA para preencher células vazias com o valor acima

Suponha que temos o seguinte conjunto de dados no Excel que mostra os pontos marcados em vários jogos por diferentes jogadores de basquete:

Suponha que queiramos preencher as células vazias nas colunas A e B com os valores das células acima delas.

Podemos criar a seguinte macro para fazer isso:

 Sub Fill_From_Above()
  With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row)
    .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C "
    .Value = .Value
  End With
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Observe que todas as células vazias nas colunas Equipe e Jogador foram preenchidas com o valor apropriado das células acima delas.

Observação : usamos xlBlanks para identificar células vazias no intervalo e, em seguida, usamos =R[-1]C para preencher os espaços em branco com o valor da célula uma linha acima.

O resultado final é que conseguimos preencher todas as células vazias com o valor das células acima delas.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como verificar se a célula está vazia
VBA: Como usar “Se não estiver vazio”
VBA: Como contar células com texto específico

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *