Se pretendermos copiar dados de uma folha para outra, de modo sequencial e partindo do princípio de que esses dados não se encontram sempre, na sua origem, nas mesmas células, mas mantendo-se na mesma ordem por coluna, como no exemplo:
Folha1 (1º momento):
Folha2 (1º momento):
Folha1 (2º momento):
Folha2 (2º momento):
Podemos então, para conseguir este resultado:
1º – Definir o Range e atribuir-lhe um nome (no exemplo: "Vendas"):
2º – Executar o seguinte Código num módulo VBE:
Sub TransferCells()
Const SOURCESHEETNAME As String = "Sheet1"
Const DESTSHEETNAME As String = "Sheet2"
Dim copyRange As Range
Dim cell As Range
Dim destinationRange As Range
Const DESTSHEETNAME As String = "Sheet2"
Dim copyRange As Range
Dim cell As Range
Dim destinationRange As Range
Worksheets(SOURCESHEETNAME).Select
Set destinationRange = Worksheets(DESTSHEETNAME).Range("A1")
For Each cell In Range("Vendas").Resize(, 1)
If cell.Value = "Vendas" Then
If copyRange Is Nothing Then
Range(cell, cell.Offset(0, 1)).Copy Destination:= _
Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End If
End If
Next cell
If cell.Value = "Vendas" Then
If copyRange Is Nothing Then
Range(cell, cell.Offset(0, 1)).Copy Destination:= _
Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End If
End If
Next cell
End Sub