Поскольку имя пути к файлу фиксировано, за исключением даты, просто сгенерируйте его:
Function yesterdayReport() As String
Const sBasePath As String = "C:\Users\Desktop\Test\Current\"
Dim sDT As String
sDT = Format(Date - 1, "yyyy mm dd")
yesterdayReport = sBasePath & sDT & "\Report_Name " & sDT & ".xlsx"
End Function
Если вам нужно найти предыдущий рабочий день с учетом выходных и праздничных дней, вы можете используйте одну из функций WorkDay
.
Например:
Option Explicit
Function yesterdayReport() As String
Const sBasePath As String = "C:\Users\Desktop\Test\Current\"
Dim sDT As String, dt As Date
Dim vHolidays
vHolidays = Array(#1/1/2020#, #7/4/2020#, #8/5/2020#)
dt = Application.WorksheetFunction.WorkDay(Date, -1, vHolidays)
sDT = Format(dt, "yyyy mm dd")
yesterdayReport = sBasePath & sDT & "\Report_Name " & sDT & ".xlsx"
End Function
Ваш аргумент holiday
может быть либо жестко задан, как я показываю, либо получен из диапазона на листе.
Возможны варианты, если ваши выходные не суббота / воскресенье.