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