Notifications
Clear all

Contar quantas colunas preechidas.

9 Posts
2 Usuários
0 Reactions
3,050 Visualizações
(@celsoyano)
Posts: 75
Trusted Member
Topic starter
 

Boa tarde pessoal.

Fiz uma pesquisa no fórum usando as palavas: ultima coluna ... resultou em 142 tópicos, mas não consegui achar o que eu quero.

search.php?keywords=ultima+coluna&fid[0]=10

Segue em anexo uma planilha para exemplo: Eu gostaria que na célula A2, informe o número de colunas com valor na linha 1.

Se fosse para saber o número de linhas em uma determinada coluna eu usaria o código:
ultima_Linha = Cells(Rows.Count, 1).End(xlUp).Row

E para coluna? Qual seria o código semelhante?

Desde já agracedo a todos que puder ajudar.

 
Postado : 17/01/2013 3:20 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Para arquivos .xlsx

Linhas
=1048576-CONTAR.VAZIO(A:A)

Colunas
=16384-CONTAR.VAZIO(1:1)

Abs,

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/01/2013 5:04 pm
(@celsoyano)
Posts: 75
Trusted Member
Topic starter
 

Mandrix, obrigado pela sugestão. No entanto, eu precisaria de uma solução em VBA para eu pode inserirá em uma rotina "For / Next".
Preferencialmente algo parecido com o código que eu postei pra achar a ultima linha preenchida
(ultima_Linha = Cells(Rows.Count, 1).End(xlUp).Row)

For i = 1 to "até a ultima coluna preechida"
...
Next i

Obrigado a quem puder me ajuda

 
Postado : 17/01/2013 5:25 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Celso,

Só para esclarecer...

Há uma diferença entre "...o número de colunas com valor na linha 1..." e "...até a ultima coluna preechida..."

Imagino que vc esteja assumindo que não há "buracos" nesta sequência.

Manjo nada de VBA mas já já vc vai ter a resposta. Galera aqui saca muito.

Abs,

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/01/2013 6:08 pm
(@celsoyano)
Posts: 75
Trusted Member
Topic starter
 

Ow Mandrix .. obrigado, vc tem razão msm!!!

o que eu quero msm é "Até a ultima coluna preenchida"

rs

Vlw, abs

 
Postado : 17/01/2013 6:22 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Eu não sei se eu entendi

Sub QuantColunas_AleVBA()
MsgBox ActiveSheet.UsedRange.Columns.Count
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/01/2013 6:26 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Você quer a Ultima Coluna preenchida ou o total de Colunas Preenchidas ?

Em seu exemplo, se utilizar a rotina abaixo, em A2 será colocado o total de colunas preenchidas :

Sub ContaColunasPreenchidas()
    MsgBox WorksheetFunction.CountA(Range("A1:H1"))
    
    Range("A2").Value = WorksheetFunction.CountA(Range("A1:H1"))
    
End Sub

Esta outra mostra qual a Última Coluna Prenchida :

Sub UltimaColPreenchida_A_Direita()

Dim lastColumn As Integer

    lastColumn = ActiveSheet.Cells(1, Columns.count).End(xlToLeft).Column
    
    MsgBox "A Ultima Coluna Preenhida é a Coluna := " & lastColumn
 
End Sub

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/01/2013 6:45 pm
(@celsoyano)
Posts: 75
Trusted Member
Topic starter
 

AlexandreVBA .. obrigado pela sugestão! Já vou deixar guardada aqui na minha pastinha de macros rss.

Mauro Coutinho .. era EXATAMENTE o segundo código que eu estava precisando.

Muito obrigado pela ajuda de todos!

 
Postado : 18/01/2013 7:14 am
(@celsoyano)
Posts: 75
Trusted Member
Topic starter
 

Só para deixar registrado, caso alguém consulte esse tópico.
Pesquisando por ai acabei encontrando outra forma para contar qual a ultima coluna preenchida

Usando este código:

lastColumn = ActiveSheet.Cells(1, Columns.count).End(xlToLeft).Column

ele vai localizar qual é a ultima coluna preenchida em uma determinada linha (no caso, a linha 1)

O código abaixo, vai informar qual a última coluna preenchida na planilha, independente da linha

lastColumn = ActiveSheet.Cells.Find(what:="*", searchdirection:=xlPrevious, searchorder:=xlByColumns).Column
 
Postado : 19/01/2013 10:49 pm