Usare Dir() può andar bene, ma non basta.
In pratica devi fare un ciclo, per leggere tutti i file, così da trovare il più recente confrontando i nomi dei due file. Più o meno così:
codice:
dim sFilename as string
dim sFileRecente as string
dim pattern as string
dim sParte_Costante as string
sParte_Costante = "xyz"
pattern = sParte_Costante & "*.*"
sFilename = Dir(pattern)
if sFilename > vbNullstring then
sFileRecente = sFilename
else
msgbox "non vi sono file."
exit sub
end if
do while sFilename <> vbNullString
sFilename = Dir()
if sFilename > sFileRecente then
sFileRecente = sFilename
end if
loop
debug.print "File recente = " & sFileRecente
Ho scritto 'al volo', quindi controlla ed occhio ad eventuali errori.