Você mencionou que gostaria que ele automaticamente copiasse as informações para o Maint Due , então trabalharei com isso. Uma macro de evento Worksheet
change poderia cobrir a automação, mas você precisaria de uma para cada uma das planilhas Mensal e Anual . Vou sugerir um Workbook_SheetChange
que analise a planilha de origem procurando por Mensal ou Anual.
Toque em Alt + F11 e quando o VBE abrir, olhe para o Explorador de Projetos no lado esquerdo para ThisWorkbook . Se você não tiver o Explorador de Projetos , toque em Ctrl + R para mostrá-lo. Clique com o botão direito do mouse em ThisWorkbook e escolha View Code
. No novo painel à direita intitulado algo como
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If LCase(Sh.Name) = "monthly" Or LCase(Sh.Name) = "annual" Then
If Not Intersect(Target, Sh.Range("Y:Y, AC:AC")) Is Nothing Then
On Error GoTo Fìn
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim lc As Long, r As Range
For Each r In Intersect(Target, Sh.Range("Y:Y, AC:AC"))
If r.Value <= 90 Then
lc = Sh.Cells(1, Columns.Count).End(xlToLeft).Column
Sh.Cells(r.Row, 1).Resize(1, lc).Copy _
Destination:=Sheets("Maint Due").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End If
Next r
End If
End If
Fìn:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Toque em Alt + Q para retornar à sua pasta de trabalho. Quaisquer novos valores digitados na coluna Y da planilha anual ou mensal ou na coluna AC resultarão em que a linha seja copiada para a próxima linha em branco na planilha do Maint Due.
O primeiro problema que vejo é que as macros de evento acionadas não são acionadas quando o resultado de uma fórmula é alterado. Houve algumas menções às colunas Y e AC sendo calculadas para que o gatilho pudesse estar na coluna criando o (s) valor (es) nas colunas Y e AC, e não nas colunas Y e Ac em si. As colunas V e X parecem ser candidatas prováveis.