try this
If(
Frequency = 'Frequency (Reports)'.Monthly,
// Find the first Monday (or selected day) of the next month
DateAdd(
DateValue(Text(DateAdd(Today(), 1, Months), "yyyy-mm-01")),
Mod(8 - Weekday(DateValue(Text(DateAdd(Today(), 1, Months), "yyyy-mm-01"))), 7),
Days
),
Frequency = 'Frequency (Reports)'.Weekly,
DateAdd('Last Run Date', 7, Days),
Frequency = 'Frequency (Reports)'.Biweekly,
DateAdd('Last Run Date', 14, Days),
Frequency = 'Frequency (Reports)'.Quarterly,
// First Monday (or selected day) of the next quarter
DateAdd(
DateValue(Text(DateAdd(Today(), 3, Months), "yyyy-mm-01")),
Mod(8 - Weekday(DateValue(Text(DateAdd(Today(), 3, Months), "yyyy-mm-01"))), 7),
Days
),
Frequency = 'Frequency (Reports)'.Yearly,
// First Monday (or selected day) of the same month next year
DateAdd(
DateValue(Text(DateAdd(Today(), 12, Months), "yyyy-mm-01")),
Mod(8 - Weekday(DateValue(Text(DateAdd(Today(), 12, Months), "yyyy-mm-01"))), 7),
Days
),
'Last Run Date' // Default to Last Run Date if no Frequency matches
)