Página 1 de 1
Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 00:15
por diegomatoseng
Amigos,
Preciso de uma ajuda na planilha em anexo:
Preciso que na coluna F e I , ele encontre o valor preenchido e preencha as células vazias acima desse valor.
abraço,
Diego
Re: Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 10:37
por osvaldomp
diegomatoseng escreveu: Preciso que na coluna F e I , ele encontre o valor preenchido e preencha as células vazias acima desse valor.
Quem seria "
ele" ?
Experimente:
Código: Selecionar todosSub PreencheVazias()
Dim k As Long, v As Long
Columns(6).TextToColumns
Do Until v >= Cells(Rows.Count, 6).End(3).Row
v = Cells(k + 1, 6).End(4).Row
Cells(k + 1 - (k = 0), 6).Resize(v - k - 1 + (k = 0)) = Cells(v, 6)
Cells(k + 1 - (k = 0), 9).Resize(v - k - 1 + (k = 0)) = Cells(v, 9): k = v
Loop
End Sub
Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 10:42
por diegomatoseng
"Ele" = rotina VBA...
Deu boa Osvaldo! Mais uma vez obrigado.
Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 11:00
por diegomatoseng
Osvaldo,
Pra eu usar numa planilha com outras abas como eu faço?
Abs,
Diego
Re: Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 11:14
por osvaldomp
Olá, Diego.
Você quer aplicar o código em várias planilhas do mesmo arquivo, é isso?
Se sim, seria aplicar em todas as planilhas do arquivo ou alguma(s) ficaria(m) de fora ? Neste segundo caso você precisa informar os nomes das planilhas.
A estrutura das demais planilhas é exatamente igual à planilha que você disponibilizou antes ?
Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 11:22
por diegomatoseng
Osvaldo,
Na verdade eu tenho várias abas, mas quero que funcione somente na aba denominada XLB_UPLOAD. E essa parte que eu não to conseguindo inserir no código.
Abs
Diego
Re: Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 12:47
por osvaldomp
Para aplicar o código na planilha
XLB_UPLOAD basta deixá-la como a planilha ativa ao rodar o código que passei antes. Se isso não for viável, então utilize o código abaixo.
Código: Selecionar todosSub PreencheVazias()
Dim k As Long, v As Long
With Sheets("XLB_UPLOAD")
.Columns(6).TextToColumns
Do Until v >= .Cells(Rows.Count, 6).End(3).Row
v = .Cells(k + 1, 6).End(4).Row
.Cells(k + 1 - (k = 0), 6).Resize(v - k - 1 + (k = 0)) = .Cells(v, 6)
.Cells(k + 1 - (k = 0), 9).Resize(v - k - 1 + (k = 0)) = .Cells(v, 9): k = v
Loop
End With
End Sub
Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 12:59
por diegomatoseng
Osvaldo,
Está dando erro de definição de aplicativo ou de objeto nas linhas:
.Cells(k + 1 - (k = 0), 6).Resize(v - k - 1 + (k = 0)) = .Cells(v, 6)
.Cells(k + 1 - (k = 0), 9).Resize(v - k - 1 + (k = 0)) = .Cells(v, 9): k = v
Re: Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 13:08
por osvaldomp
Disponibilize o arquivo com o código instalado.
Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 13:47
por diegomatoseng
Segue!
O código está no Módulo2, abaixo do comentário:
'Preencher automaticamente Talhão HT / Quantidade de Árvores
Abs,
Diego
Re: Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 14:38
por osvaldomp
O problema ocorre porque no primeiro arquivo o cabeçalho ocupa somente a linha 1 e agora você quer rodar o código em planilha cujo cabeçalho ocupa as linhas 1 e 2
Substitua as 3 linhas conforme abaixo.
Código: Selecionar todos v = .Cells(k + 1 - (k = 0), 6).End(4).Row
.Cells(k + 1 - 2 * (k = 0), 6).Resize(v - k - 1 + 2 * (k = 0)) = .Cells(v, 6)
.Cells(k + 1 - 2 * (k = 0), 9).Resize(v - k - 1 + 2 * (k = 0)) = .Cells(v, 9): k = v
Encontrar valor na célula e preenche acima
Enviado: 07 Out 2019 às 14:46
por diegomatoseng
Valeu Osvaldo! 100%