Ola galera, recentemente descobri o VBA e estou tentando realizar uma "automatização" em uma planilha utilizando principalmente o filtro avançado em uma macro.
Tenho uma serie de dados que preciso copia-los da plan1 para a plan2 de acordo com um critério e em seguida exclui-los da planilha original (plan1) - até ai eu dei um jeito rs.
Porém eu precisaria que esta inserção de dados fosse recorrente e não sobrepusesse os dados já anteriormente copiados ( assim mantendo o registro). segue a macro que estou trabalhando:
Sheets("Planilha2").Activate
ActiveSheet.Range("B2:B3").Select
Sheets("Planilha1").Range("B2:L1000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=ActiveCell.Range("A1:A2"),[/color] [color=#FF0000]CopyToRange:=ActiveCell.Offset(3, _
0).Range("A1")[/color][color=#0000BF], Unique:=False
Sheets("Planilha1").Activate
ActiveSheet.Range("H2").Select
ActiveSheet.Range("B2:L1000").AutoFilter Field:=7, Criteria1:="concluida"
ActiveCell.Offset(1, -6).Range("A1:L1000").Select
Selection.EntireRow.Delete
ActiveSheet.Range("B2:L1000").AutoFilter Field:=7
ActiveCell.Offset(-2, -1).Range("A1").Select
End Sub
Minha duvida se refere a parte do "CopyToRange" da ação AdvancedFilter, que acredito que esta parte seja a responsável pela inserção dos dados copiados.
Gostaria de saber se é possível o "CopyToRange" da função se tornar variável de acordo com as linhas preenchidas anteriormente, tentei substituir a parte
ActiveCell.Offset(3, _
0).Range("A1")
por
Range("B1000") .select
selection.end(xlUp).select
activecell.offset(1,0).select
Até mesmo criando uma variável e substituindo o valor mas não obtive exito (sou iniciante meeeesmo). Se alguém puder me dar uma luz kkk. Agradeço desde já.
PS:Segue em anexo uma planilha exemplo que estou trabalhando (me perdoem se estiver confusa).
Postado : 30/10/2016 6:11 pm