Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#32856
Pessoal, bom dia!

ME AJUDEM, POR FAVOR!

Eu fiz a macro abaixo para contar quantas vezes um projeto aparece numa tabela, quantos documentos estão atrasados, concluídos , a quantidade de documentos em um mesmo projeto e jogar numa planilha de resumo. A minha macro está dando erro porque gera somente uma linha na planilha de resumo e eu queria uma linha por projeto com as contagens que ela precisa fazer.


Segue macro abaixo:

Sub Resumo()

Worksheets("Resumo").Range("$E$22:$AB$150").ClearContents
Dim PROJETO, UNIDADE As String
Dim CONTDOC, NUMELINHAS, ATRASADOS, DATA_ATUAL, DATADOC, CONCLUIDOS, HORAS, PERC_CONC As Long
Dim A, B As Integer


Worksheets("Engenharia").Select
DATA_ATUAL = Worksheets("Engenharia").Range("F7")
Range("N10").Select
NUMELINHAS = Range(Selection, Selection.End(xlDown)).Rows.COUNT

PROJETO = Worksheets("Engenharia").Range("E10").Value
UNIDADE = Worksheets("Engenharia").Range("F10").Value
PERC_CONC = Worksheets("Engenharia").Range("T10").Value
CONTDOC = 0
ATRASADOS = 0
CONCLUIDOS = 0
HORAS = 0

For B = 10 To 9 + NUMELINHAS Step 1
For A = 10 To 9 + NUMELINHAS Step 1

DATADOC = Worksheets("Engenharia").Range("S" & A).Value

If PROJETO = Worksheets("Engenharia").Range("E" & A).Value Then

CONTDOC = CONTDOC + 1

HORAS = Worksheets("Engenharia").Range("X" & A).Value + HORAS

If DATADOC < DATA_ATUAL Then
ATRASADOS = ATRASADOS + 1
End If

If PERC_CONC = Worksheets("Engenharia").Range("S6") Then
CONCLUIDOS = CONCLUIDOS + 1
End If

End If

Next A

Worksheets("Resumo").Range("E" & B + 12) = PROJETO
Worksheets("Resumo").Range("J" & B + 12) = UNIDADE
Worksheets("Resumo").Range("L" & B + 12) = CONTDOC
Worksheets("Resumo").Range("O" & B + 12) = ATRASADOS
Worksheets("Resumo").Range("W" & B + 12) = CONCLUIDOS
Worksheets("Resumo").Range("Z" & B + 12) = HORAS
CONTDOC = 0
ATRASADOS = 0
CONCLUIDOS = 0
HORAS = 0

PROJETO = Worksheets("Engenharia").Range("B" & B)


Next B

End Sub
#32857
Bon dia.
Sugiro postar seu arquivo com uma demonstração manual do resultado esperado.
Sugiro também informar sua versão do Excel para (caso seja aplicável) uma solução via Power query/Power pivot serem apresentadas.
Para anexar seu arquivo, clique em +Resposta é localize o botão abaixo da janela de digitação...
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord