Usuário com melhor resposta
Ajuda VBA Copiar determinadas linhas para outra aba

Pergunta
-
Boa noite.
Tenho uma planilha com diversas informações, como nome da empresa, material pedido, quantidade, data, entre outros.
Preciso que todas as linhas que tenham o nome da empresa FG (por exemplo) sejam copiadas inteiras e coladas em outra aba do arquivo. Porém, existem varias linhas com a empresa FG intercaladas com outras empresas, além de ter variação na quantidade de linhas do arquivo, pois terei que fazer esse relatório a cada mês.
Precisava que fosse feito a mesma coisa para as outras empresas, cada empresa em uma aba do arquivo. E se possível, que após fazer essa separação, ele salvasse cada aba em um arquivo diferente.
poderiam me ajudar com isso?? Ja tentei de várias maneiras, mas sou leigo no assunto, então não deu muito certo.
Desde já agradeço a ajuda.
MarcusNagel
Respostas
-
Marcus,
A melhor forma de resolver seu problema é através de uma tabela dinâmica. Já experimentou criar uma para o seu caso?
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 11 de julho de 2015 17:14
-
Olá, amigo.
Podes seguir a dica do amigo Felipe e criar uma Tabela Dinâmica.
E também, veja se por este código podes obter resultado, se não retorne a nós
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, ByVal Cancel As Boolean)
If Target.Column <> 14 Then Exit Sub
Cancel = True
Dim LR As Long
Application.ScreenUpdating = False
Union(Cells(Target.Row, 2).Resize(, 3), Cells(Target.Row, 9).Resize(, 2)).Copy()
With Sheets("Plan2")
LR = .Cells(Rows.Count, 2).End(xlUp).Row
.Cells(LR + 1, 2).PasteSpecial()
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Veja também se aqui encontres a solução:
http://www.microsoftexcel.com.br/index.php/excel-dicas-microsoft-excel-vba/116-excel-vba-linhas-e-colunas/962-excel-planilhas-vba-selecionar-e-copiar-linhas-e-colunas.htmlMS INFORMATICA
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 11 de julho de 2015 17:14
Todas as Respostas
-
Marcus,
A melhor forma de resolver seu problema é através de uma tabela dinâmica. Já experimentou criar uma para o seu caso?
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 11 de julho de 2015 17:14
-
Olá, amigo.
Podes seguir a dica do amigo Felipe e criar uma Tabela Dinâmica.
E também, veja se por este código podes obter resultado, se não retorne a nós
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, ByVal Cancel As Boolean)
If Target.Column <> 14 Then Exit Sub
Cancel = True
Dim LR As Long
Application.ScreenUpdating = False
Union(Cells(Target.Row, 2).Resize(, 3), Cells(Target.Row, 9).Resize(, 2)).Copy()
With Sheets("Plan2")
LR = .Cells(Rows.Count, 2).End(xlUp).Row
.Cells(LR + 1, 2).PasteSpecial()
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Veja também se aqui encontres a solução:
http://www.microsoftexcel.com.br/index.php/excel-dicas-microsoft-excel-vba/116-excel-vba-linhas-e-colunas/962-excel-planilhas-vba-selecionar-e-copiar-linhas-e-colunas.htmlMS INFORMATICA
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 11 de julho de 2015 17:14