Palooo(21.5.2013 10:01)#013396 
pisal som to na rychlo nemam to skontrolovane ale asi takto:
Sub test()
Dim x As Integer
Dim y As Integer
Dim aFinish As Boolean
Dim aOutput As String
x = 1
y = 1
Do While aFinish > True
aOutput = Cells(12, 13) + x
x = x + 1
If Weekday(aOutput, 2) <> 6 And Weekday(aOutput, 2) <> 7 Then y = y + 1
If y = 30 Then aFinish = True
Loop
Cells(12, 14) = aOutput
End Sub
eLCHa(21.5.2013 15:07)#013397
cdate(WorksheetFunction.WorkDay(cdate("15.3.2013"), 30))
resp.:
cdate(WorksheetFunction.WorkDay(Range("M12").Value, Range("N12").Value))
Pomocí WorkDay lze řešit i svátky - viz nápověda