Olá pessoal
Como faço em VBA a função CONT.SE
Exemplo
A1 Elefante
A2 Elefante
A3 Girafa
A4 Girafa
A5 Elefante
A6 Elefante
A7 Elefante
A8 Girafa
A9 Girafa
A10 Elefante
E daí fazer aparecer em P3 6 e em Q3 4
Tentei aqui e não consegui, preciso que seja sempre as últimas 10 linhas
Sub Contse() Dim i As Long Dim elefante As String Dim girafa As String For i = Sheets("Plan1").Cells(Rows.Count, "A").End(xlUp).Row - 10 To Sheets("Plan1").Cells(Rows.Count, "A").End(xlUp).Row If Plan1.Range("C" & i).Value = "Elefante" Then elefante = cont.se(Plan1.Range("C" & i).Value = "Elefante") End If If Plan1.Range("C" & i).Value = "Girafa" Then girafa = cont.se(Plan1.Range("C" & i).Value = "Girafa") End If Next i Plan1.Range("P3").Value = elefante Plan1.Range("Q3").Value = girafa End Sub
Obrigado
Tente assim :
Sub Count_If() Dim xCountif As WorksheetFunction Set xCountif = Application.WorksheetFunction Range("P3").Value = xCountif.CountIf(Plan1.Range("a:a"), "Elefante") Range("Q3").Value = xCountif.CountIf(Plan1.Range("a:a"), "Girafa") End Sub
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Bom dia.
Mais uma contribuição:
Sub contse() Dim w As Worksheet, ulinha As Long, PLinha As Long Dim rng As Range Dim wkf As WorksheetFunction Dim elefante As Long Dim girafa As Long Set wkf = Application.WorksheetFunction Set w = Planilha1 '[size=150]aqui vc coloca a planilha certa[/size] ulinha = w.Cells(w.Rows.Count, 1).End(3).Row PLinha = ulinha - 9 If PLinha < 1 Then PLinha = 1 Set rng = w.Range("A" & PLinha, "A" & ulinha) elefante = wkf.CountIf(rng, "elefante") girafa = wkf.CountIf(rng, "girafa") w.Range("p3").Value = 0 w.Range("q3").Value = 0 w.Range("p3").Value = elefante w.Range("q3").Value = girafa End Sub
Resposta útil? Clique na mãozinha ao lado do botão Citar.
Bom dia wzxnet7
Deu certo porém ele pisca e some o valor (a célula fica em branco no instante seguinte), tem como resolver?
Fiz uma alteração senão pisca o 0 e nem dá pra ver o resultado
Sub contse() Dim w As Worksheet, ulinha As Long, PLinha As Long Dim rng As Range Dim wkf As WorksheetFunction Dim elefante As Long Dim girafa As Long Set wkf = Application.WorksheetFunction [color=#FF0000]Set w = Plan1[/color] ulinha = w.Cells(w.Rows.Count, 1).End(3).Row PLinha = ulinha - 9 If PLinha < 1 Then PLinha = 1 Set rng = w.Range("A" & PLinha, "A" & ulinha) elefante = wkf.CountIf(rng, "elefante") girafa = wkf.CountIf(rng, "girafa") [color=#FF0000]' w.Range("p3").Value = 0 ' w.Range("q3").Value = 0[/color] w.Range("p3").Value = elefante w.Range("q3").Value = girafa End Sub
Obrigado
Bom dia Mauro Coutinho
Problema é que preciso só das últimas 10 linhas da coluna C
Obrigado
Anexo
Mais uma tacada de mestre Klarc28
Obrigado