Boa noite. Segui a orientação conforme vc passou. Ele não puxou a data e também abriu uma tela para que escolhesse o arquivo a ser aberto.
A ideia desta macro será na guia detalhado ele pegaria o codigo do produto (Coluna B) e na guia lançamentos ele retornaria a menor data deste código (coluna a). Para retornar a data maior faria a adaptação e o resultado retornaria para a coluna M
Segue o código atualizado com a formula sugerida
Sub AtualizaDatasnova()
'' Atualiza Guia Movimento
' Gravado por Denilson Roberto de Souza
Dim w As Worksheet
Dim senha As String
Dim ulinha As Long
Dim UltimaLin As Long
senha = "acerf15"
'Captura a Ultima Linha na Coluna c
UltimaLin = ActiveSheet.Cells(Rows.Count, "a").End(xlUp).Row
Application.ScreenUpdating = False
Set w = Detalhado
w.Activate
If w.ProtectContents = True Then
w.Unprotect senha
End If
Range("l3").Select
Range("l3").Activate
'ActiveCell.Formula = "=iferror(if(isna(MATCH(B;LCTO!A:A;0));"";MIN(SE((LCTO!A:A=B);LCTO!C:C)));"")"
ActiveCell.FormulaLocal = "=SEERRO(SE(É.NÃO.DISP(CORRESP($B3;lançamento!$A$3:$A$20000;0));"""";Minimo(SE((lançamento!$A$3:$A$20000=$B2);LCTO!$C$3:$C$30000)));"""")"
Range("b3").Select
Selection.End(xlDown).Select
lin = ActiveCell.Row
rg = "l3:l" & lin
ActiveCell.Value = ActiveCell.Value
Range("l3").Select
Selection.AutoFill Destination:=Range(rg), Type:=xlFillDefault
Range("l3" & lin).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
cont = 3
cont = cont + 1
'Loop
'Apaga todas as Linhas em branco a partir de A3
w.Protect senha
End Sub
Este post foi modificado 3 semanas atrás por
souzadenilson
Postado : 23/06/2025 10:40 pm