Eu tenho uma planilha mestre que tenho a linha distribuindo para diferentes planilhas com etiquetas específicas.
Euqueroquecadalinhasejadistribuídanaguiaapropriada(domestre),dependendodasinformaçõesdacolunaB.
Euestavausandoocódigoparadistribuirascolunas,masnãotinhacomoexcluir/atualizarascolunasdomestre,seelasfossemalteradas.Emseguida,adicioneiumID#queseriaexclusivoparacadatarefa.
EutenteialterarocódigoparalerdacolunaB,masacabeicomnovasfolhasnumeradasde1-31.OcódigofuncionouantesdeeuadicionarnacolunaID#eteralinha:Setrng=ActiveSheet.Range(ActiveSheet.Range("B3"), _
read A3
.
Meu código:
Sub ProcessRows()
Dim rng As Range, cell As Range
Set rng = ActiveSheet.Range(ActiveSheet.Range("B3"), _
ActiveSheet.Cells(Rows.Count, 1).End(xlUp))
For Each cell In rng.Cells
cell.EntireRow.Copy CopyTo(cell)
Next cell
End Sub
'Return a range object to which a row should be copied
' Range returned is determined by the value in "rng"
Function CopyTo(rng As Range) As Range
Dim s As Excel.Worksheet, sName As String
sName = Trim(rng.Value) 'just in case...
On Error Resume Next 'ignore any error
Set s = ThisWorkbook.Sheets(sName) 'see if we can grab the sheet
On Error GoTo 0 'stop ignoring errors
If s Is Nothing Then 'sheet didn't exist: create it
Set s = ThisWorkbook.Sheets.Add( _
after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
s.Name = sName
rng.Parent.Rows(1).Copy s.Range("a1") 'copy headers
End If 'needed a new sheet
'return the first empty cell in column 1
Set CopyTo = s.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End Function
O problema que estou tendo é que, sem um identificador único, não sei como obter a macro para decifrar se uma linha mudou e atualizá-la e acabo com duplicatas. Adicionamos a esta pasta de trabalho todo o ano, portanto, ter a atualização de macro das planilhas individuais é uma grande economia de tempo.
Para resumir, preciso de uma macro que:
- Distribua cada linha da planilha mestre para cada planilha adequadamente rotulada.
- Preciso de cada número de ID exclusivo para atualizar essa linha se algo mudou.
- Também preciso ter certeza de que não existem duplicatas nas planilhas.
Se houver uma maneira de executar a macro automaticamente ao fechar o documento, isso seria um bônus, mas a execução manual da macro é algo com o qual posso conviver.
Duplicar linhas e informações não atualizadas