Macro para automatização de planilha
Enviado: 15 Mai 2016 às 20:35
Boa noite amigos!
Estou tentando automatizar uma planilha da seguinte maneira: Dados sobre fornecedores são colocados em uma linha de uma aba "Geral", está linha quando rodada a macro copiaria esta linha para a aba do fornecedor correspondente. Até ai o meu código parece que fez, o problema é que sempre que rodo a macro ele copia novamente esses dados, será que existe alguma maneira de fazer com que ele copie essa linha para sua aba sem copiar o que ja foi feito?
Segue meu código abaixo:
Sub Copia()
Application.CutCopyMode = False
Dim r As Long, c As Long
Dim ws As Worksheet
Dim sFornecedores As String
Dim wsRow As Long
Worksheets("Geral").Activate
r = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 'find last row
c = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column 'find last column
Range("A6").AutoFilter
Range("A1:A" & r).AutoFilter Field:=1
For Each ws In Worksheets
If ws.Name <> "Geral" Then
'*edited to accommodate pre-existing data
ws.Activate '*activate sheet so you can use Cells() with it
wsRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 '*find first usable row in ws
sFornecedores = ws.Name 'criteria to look for
Worksheets("Geral").Activate 'bring focus back to main sheet
Range("B3:B" & r).AutoFilter Field:=2, Criteria1:=sFornecedores
Range(Cells(1, 1), Cells(r, c)).SpecialCells(xlCellTypeVisible).Copy ws.Range("A" & wsRow)
End If
Next ws
Range("A1").AutoFilter
Application.CutCopyMode = True
End Sub
Este é meu primeiro post, então me desculpem caso tenha feito algo errado rs.
Abraços e uma ótima noite a todos..
Filipe
Estou tentando automatizar uma planilha da seguinte maneira: Dados sobre fornecedores são colocados em uma linha de uma aba "Geral", está linha quando rodada a macro copiaria esta linha para a aba do fornecedor correspondente. Até ai o meu código parece que fez, o problema é que sempre que rodo a macro ele copia novamente esses dados, será que existe alguma maneira de fazer com que ele copie essa linha para sua aba sem copiar o que ja foi feito?
Segue meu código abaixo:
Sub Copia()
Application.CutCopyMode = False
Dim r As Long, c As Long
Dim ws As Worksheet
Dim sFornecedores As String
Dim wsRow As Long
Worksheets("Geral").Activate
r = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 'find last row
c = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column 'find last column
Range("A6").AutoFilter
Range("A1:A" & r).AutoFilter Field:=1
For Each ws In Worksheets
If ws.Name <> "Geral" Then
'*edited to accommodate pre-existing data
ws.Activate '*activate sheet so you can use Cells() with it
wsRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 '*find first usable row in ws
sFornecedores = ws.Name 'criteria to look for
Worksheets("Geral").Activate 'bring focus back to main sheet
Range("B3:B" & r).AutoFilter Field:=2, Criteria1:=sFornecedores
Range(Cells(1, 1), Cells(r, c)).SpecialCells(xlCellTypeVisible).Copy ws.Range("A" & wsRow)
End If
Next ws
Range("A1").AutoFilter
Application.CutCopyMode = True
End Sub
Este é meu primeiro post, então me desculpem caso tenha feito algo errado rs.
Abraços e uma ótima noite a todos..
Filipe