Notifications
Clear all

CONTAR CELULAR NÃO VAZIAS

5 Posts
3 Usuários
0 Reactions
1,175 Visualizações
(@ericsson)
Posts: 54
Trusted Member
Topic starter
 

Galera!

Tenho uma situação...

Como contar o numero de células preenchidas dentro de uma range do tipo cells???

Ou melhor por que este código não funciona me trazendo a quantidade de células preenchidas dentro de uma range?

Exemplo:

Nsub = Application.WorksheetFunction.countIf(Worksheets("BANCOVARIAVEL").Range(cells( 2 + Contsub, 1), cells(5000, 1), " <> " & Empty)

Msgbox Nsub
 
Postado : 05/05/2014 8:50 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Celesione a coluna e rode a macro.

Sub AleVBA_11538()
Dim col As Integer, rng As Range, n#, b#
col = Selection.Column
If Application.WorksheetFunction.CountA(Columns(col)) = 0 Then
MsgBox "Você selecionou uma coluna em branco"
n = 0
Else
Set rng = Intersect(Columns(col), ActiveSheet.UsedRange)
On Error Resume Next
b = rng.Cells.SpecialCells(xlCellTypeBlanks).Count
n = rng.Cells.Count - b
On Error GoTo 0
MsgBox "O número de células em branco na coluna " & col & " é " & n
End If
End Sub

Att

 
Postado : 05/05/2014 9:05 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não compreendi o que quer dizer com "dentro de uma range do tipo cells", mas se quer saber (contar) a quantidade de celulas preenchidas dentro de um intervalo de celulas use :

Nsub = Application.WorksheetFunction.CountA(Worksheets("BANCOVARIAVEL").Range(Cells(2, 1), Cells(5000, 1)))

MsgBox "Temos " & Nsub & " Linha(s) Preenchida(s)"

[]s

 
Postado : 05/05/2014 10:44 am
(@edcronos)
Posts: 1006
Noble Member
 

creio que assim tbm funcione

Nsub =Worksheets("BANCOVARIAVEL").Range(cells( 2 + Contsub, 1), cells(5000, 1)).Cells.SpecialCells(xlCellTypeConstants).Count
Msgbox Nsub

 
Postado : 05/05/2014 2:01 pm
(@ericsson)
Posts: 54
Trusted Member
Topic starter
 

Fiz só uma correção mesmo e deu certo.

Ao invés deste:

Nsub = Application.WorksheetFunction.countIf(Worksheets("BANCOVARIAVEL").Range(cells( 2 + Contsub, 1), cells(5000, 1), " <> " & Empty)

Corrigi para este:

Nsub = Application.WorksheetFunction.Count(Worksheets("BANCOVARIAVEL").Range(Cells(2 + contsub, 1), Cells(5000, 1)))
 
Postado : 07/05/2014 1:45 pm