I think Mike gave a reasonable answer to work the tasks manually. Using VBA
is possible, perhaps too much work.
After thinking about it, try this. Let us assume the task you do not want
to split is 7 work days long (so it can split a weekend, but not a long
vacation). Establish a new calendar. The first work day is 8 business days
before the real "long period off". The second work day is the last day of
the extended work day off. All the time between these two task are "not
working time." The callendar must also allos work for all days prior to the
first day.
For the work days in the new calendar, make only one minute of work
available for each of the days. The work day starts at 5:01 PM and ends at
5:02 PM (I assume the normal work day ends at 5PM). All other days on this
calendar are non-working days.
I will assume the tasks are linked Finish-to-Start in this order: A-B-C-D-E
and task "D" is the task that cannot be split over the long period of
vacation.
Create a milestone of 0 duration (or maybe 1 minute duration). I will call
this task "MS". Assign the new calendar to the MS task.
Place this milestone as the predecessor to Task D. Your task chain will
look like this: A-B-C-MS-D-E.
If task "C" finishes later than 8 business days before "vacation" then the
milestone MS will not start until its next available work day --- 5:01PM on
the last day of "vacation." Then Task D will start after the milestone.
If Task C finishes very quickly, then task D will start (and complete) prior
to the vacation period.
I think that will work. Post back if you have any more questions.
--
If this post was helpful, please consider rating it.
Jim Aksel, MVP
Check out my blog for more information:
http://www.msprojectblog.com