Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Selecionar até última célula preenchida

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Mathmatic
Manda bem
Manda bem
Mensagens: 184
Registrado em: Seg Out 24, 2011 1:50 pm

Selecionar até última célula preenchida

Mensagem por Mathmatic »

Saudações,

Estou em busca de um código para Selecionar um intervalo que inicia-se em A2 e vai até a última célula preenchida da coluna A.

Consegui o seguinte código abaixo:

Range("A2:A" & Range("A2").End(xlDown).Row).Select

Mas este código NÃO seleciona só até a última célula preenchida da coluna A, ele seleciona Também as células vazias que contém fórmulas abaixo da última preenchida.

Eu preciso que selecione de A2 até a última célula preenchida da coluna A, desconsiderando se houver células vazias com fórmulas abaixo da última preenchida.

Podem me ajudar ?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


messiasmbm
Colaborador
Colaborador
Mensagens: 72
Registrado em: Ter Fev 10, 2015 8:53 pm

Re: Selecionar até última célula preenchida

Mensagem por messiasmbm »

Código: Selecionar todos

Dim ultima
ultima = Range("A2").End(xlDown).Row
Range("A2:A" & ultima).Select



Mathmatic
Manda bem
Manda bem
Mensagens: 184
Registrado em: Seg Out 24, 2011 1:50 pm

Selecionar até última célula preenchida

Mensagem por Mathmatic »

sr. messiasmbm,

usei o seu código sugerido, MAS ainda está selecionando as células vazias com fórmulas.

vou explicar melhor :

tenho um código VBA que busca na coluna A (inicio em A2) de uma planilha informações e cola em outra planilha.

na coluna A (da planilha fonte) eu tenho informações preenchidas que vão até umas 200 linhas, MAS esta mesma coluna tem fórmulas que vão de A2 até A15000 (cujas células sem informações encontram-se vazias).

preciso que o código que estou buscando selecione só as informações preenchidas da coluna A (inicio em A2), ...MAS o seu código sugerido ainda está buscando até a linha 15000 (até onde vão as fórmulas).

E só quero que selecione até onde tem as informações preenchidas.


obrigado pela atenção.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Selecionar até última célula preenchida

Mensagem por Reinaldo »

Creio estar havendo um equivoco, células com formulas estão, para todos os efeitos, preenchidas e fazem parte do "UsedRange".
Aparentemente o que deseja é selecionar células sem valor "aparente". Dependendo do método de retorno das formulas nessa células, pode-se utilizar, por exemplo a função cont.valores para determinar qual a range desejada. Com um modelo ficará muito mais simples obter um retorno que lhe atenda


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Mathmatic
Manda bem
Manda bem
Mensagens: 184
Registrado em: Seg Out 24, 2011 1:50 pm

Selecionar até última célula preenchida

Mensagem por Mathmatic »

sr. Rmarco,

Creio realmente que a solução está em utilizar a função cont.valores no código VBA para determinar qual a range desejada.

Mas não consegui adaptar essa função no código VBA. Se o senhor puder me ajudar, ficarei agradecido.

segue um modelo do código inteiro (o qual copia da Plan1 e cola os valores na Plan2):


Sub Copiar_Colar()

Sheets("Plan1").Select
Range("A2:A" & Range("A2").End(xlDown).Row).Select 'esse é o código que precisa selecionar só as células preenchidas.
Application.CutCopyMode = False
Selection.Copy

Sheets("Plan2").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Selecionar até última célula preenchida

Mensagem por Reinaldo »

Com disse sem visualizar os dados de sua planilha fica muito dificil, ficamos no achometro
a maneira de contar os valores seria

Código: Selecionar todos

Sub Copiar_Colar()
Dim uLin As Long
uLin = Application.WorksheetFunction.Count(Sheets("plan1").Range("A:A"))

Sheets("Plan1").Select
Range("A2:A" & uLin).Select 'esse é o código que precisa selecionar só as células preenchidas.
Application.CutCopyMode = False
Selection.Copy

Sheets("Plan2").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub


Mathmatic
Manda bem
Manda bem
Mensagens: 184
Registrado em: Seg Out 24, 2011 1:50 pm

[RESOLVIDO] Selecionar até última célula preenchida

Mensagem por Mathmatic »

sr. Rmarco,

muito obrigado....

era isso mesmo que eu estava buscando para este código VBA !


lagneto
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qua Nov 07, 2018 10:23 am

Re: Selecionar até última célula preenchida

Mensagem por lagneto »

Bom dia Tomás! Estou tendo a seguinte dificuldade com o código VBA selecionar células preenchidas, abaixo reproduzida: SEMPRE FICA A ÚLTIMA LINHA PREENCHIDA DE FORA da área selecionada.

˜Sub Copiar_Colar()
Dim uLin As Long
uLin = Application.WorksheetFunction.Count(Sheets("plan1").Range("A:A"))

Sheets("Plan1").Select
Range("A2:A" & uLin).Select 'esse é o código que precisa selecionar só as células preenchidas.
Application.CutCopyMode = False
Selection.Copy

Sheets("Plan2").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub˜

Vc pode me ajudar, por favor?

Obrigado.

Lourenço


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Selecionar até última célula preenchida

Mensagem por Reinaldo »

Verifique se a coluna A e a que determina a ultima linha, ou se e outra coluna
Caso seja outra altere em -->.Count(Sheets("plan1").Range("A:A")

Uma outra possibilidade, se sempre for a ultima linha, e acrescentar +1 na seleção
--> Range("A2:A" & uLin + 1)


lagneto
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qua Nov 07, 2018 10:23 am

Re: Selecionar até última célula preenchida

Mensagem por lagneto »

Ola Reinaldo.

Obrigado pela dica.

Foi exatamente a segunda opção, eu tenho um cabeçalho na planilha que não estava considerando.

Valou.

Lourenço


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder