Você pode usar essas macros para rastrear as alterações no intervalo de dados específico.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B100")) Is Nothing Then
Call Master
End If
End Sub
Nota:
- Esse código executará Macro (mestre) quando qualquer alterações no valor da célula no intervalo.
Insira abaixo o código VBA escrito como módulo padrão.
-
Este código copia todos os valores Novos / Alterados do intervalo
A1:B100
para a nova planilhaMasterSheet
sem gravar registros antigos.Sub Master() Dim sourceSheet As Worksheet Dim sourceRange As Range Dim sourceRows As Integer Set sourceSheet = Worksheets("Sheet1") sourceRows = WorksheetFunction.CountA(sourceSheet.Range("A:A")) Set sourceRange = sourceSheet.Range("A1:B" & sourceRows) Dim targetSheet As Worksheet Dim targetRange As Range Dim targetRows As Integer Set targetSheet = Worksheets("MasterSheet") targetRows = WorksheetFunction.CountA(targetSheet.Range("A:A")) Set targetRange = targetSheet.Range("A" & targetRows + 1 & ":B" & targetRows + 1 + sourceRows) sourceRange.Copy Destination:=targetRange End Sub
Nota:
- Para dados melhores & Gerenciamento de arquivos Eu usei dois MACRO.
- A macro usa o
COUNTA
para descobrir como as linhas podem estar em uso. - Se você tiver cabeçalhos de coluna na planilha de origem e no mestre, eles serão duplicados. Então você pode querer fazer o
sourceRange
começar emA2
.
Ajustar referências de células e nome da planilha conforme necessário.