Prezados,
procurei pelo site mas não encontrei algum tópico, se me ajudarem a encontrar agradeço, caso não se puderem ajudar com o meu caso.
Tenho uma planilha onde a planilha 2 é minha banco de dados, todos os dados são lançados ali.
Na primeira coluna tenho um identificador semanal, 1 a 52, correspondendo às 52 semanas do ano, e tenho 52 planilhas, nomeadas, semana 1, semana 2....
qual a ideia, construir uma VBA onde, encontrado o valor de 1 a 52, os valores das linhas correspondentes sejam copiados para a planilha correspondente, mas não deixando linhas vazias entre elas.
eu consegui fazer isso, mas atribuindo valores coluna por coluna, e deu uma macro muito grande e estourou o limite de linhas da macro. Então fiquei limitado a 5 semanas, ou seja, quando eu executo a vba, só consigo copiar as linhas até a semana 5 e só.
Eu acredito que tenha uma forma mais simples pra isso, mas não consegui fazê-lo.
Sub Relatorio()
ultimaLinha = Plan2.Cells(Rows.Count, "a").End(xlUp).Row
Plan3.Range("A2:AH71").ClearContents
Lin = 2
For i = 2 To ultimaLinha
If Plan2.Cells(i, 1) = "1" Then
Plan3.Cells(Lin, 1) = Plan2.Cells(i, 1)
Plan3.Cells(Lin, 2) = Plan2.Cells(i, 2)
Plan3.Cells(Lin, 3) = Plan2.Cells(i, 3)
Plan3.Cells(Lin, 4) = Plan2.Cells(i, 4)
Plan3.Cells(Lin, 5) = Plan2.Cells(i, 5)
Plan3.Cells(Lin, 6) = Plan2.Cells(i, 6)
Plan3.Cells(Lin, 7) = Plan2.Cells(i, 7)
Plan3.Cells(Lin, 8) = Plan2.Cells(i, 8)
Plan3.Cells(Lin, 9) = Plan2.Cells(i, 9)
Plan3.Cells(Lin, 10) = Plan2.Cells(i, 10)
Plan3.Cells(Lin, 11) = Plan2.Cells(i, 11)
Plan3.Cells(Lin, 12) = Plan2.Cells(i, 12)
Plan3.Cells(Lin, 13) = Plan2.Cells(i, 13)
Plan3.Cells(Lin, 14) = Plan2.Cells(i, 14)
Plan3.Cells(Lin, 15) = Plan2.Cells(i, 15)
Plan3.Cells(Lin, 16) = Plan2.Cells(i, 16)
Plan3.Cells(Lin, 17) = Plan2.Cells(i, 17)
Plan3.Cells(Lin, 18) = Plan2.Cells(i, 18)
Plan3.Cells(Lin, 19) = Plan2.Cells(i, 19)
Plan3.Cells(Lin, 20) = Plan2.Cells(i, 20)
Plan3.Cells(Lin, 21) = Plan2.Cells(i, 21)
Plan3.Cells(Lin, 22) = Plan2.Cells(i, 22)
Plan3.Cells(Lin, 23) = Plan2.Cells(i, 23)
Plan3.Cells(Lin, 24) = Plan2.Cells(i, 24)
Plan3.Cells(Lin, 25) = Plan2.Cells(i, 25)
Plan3.Cells(Lin, 26) = Plan2.Cells(i, 26)
Plan3.Cells(Lin, 27) = Plan2.Cells(i, 27)
Plan3.Cells(Lin, 28) = Plan2.Cells(i, 28)
Plan3.Cells(Lin, 29) = Plan2.Cells(i, 29)
Plan3.Cells(Lin, 30) = Plan2.Cells(i, 30)
Plan3.Cells(Lin, 31) = Plan2.Cells(i, 31)
Plan3.Cells(Lin, 32) = Plan2.Cells(i, 32)
Plan3.Cells(Lin, 33) = Plan2.Cells(i, 33)
Plan3.Cells(Lin, 34) = Plan2.Cells(i, 34)
Lin = Lin + 1
End If
Next
se puderem me ajudar, agradeceria.
Obrigado
Fernando
Postado : 27/03/2018 12:46 pm