Hola, José Luis:
Creo que, tras leer todo tu mensaje, te voy a nombrar mi "beta-tester" oficial
Lo cierto es que el ejemplo que comentas lo hice en mis comienzos tempranos (cuando empezaba a tener mis primeras citas con la señorita VBA... bueno, quizá no las primeras primeras... je, je...) y, efectivamente, quizá el código no sea de lo más elegante.
Evidentemente testeo los códigos de los ejemplos antes de colgarlos, pero con VBA nunca puedes dormirte y siempre puede salirte algún "chicharro" cuando menos te lo esperas, como el que comentas.
En lugar de repasar el código y ver dónde "casca" te propongo una cosa: ¿por qué no creas tú un código que haga lo que necesitas? Desconozco tu nivel de conocimientos de VBA, así que no sé si te estoy pidiendo una cosa muy difícil. Si te ves con fuerzas colgaría tu solución en la web, y si no te ves con fuerzas no pasa nada.
De una manera u otra dame unos días (unos bastantes, quiero decir) y programo de nuevo una aplicación que cuente días teniendo en cuenta festivos, sábados, domingos, etc.
Respecto al tema de que de, para ti, de lunes a domingo hay 7 días, pues mira, por casualidad, coincido contigo. Sin embargo, si no recuerdo mal en el pdf explicativo hay algún punto donde digo que Access, al calcular la diferencia de días entre fechas, hace exclusiva (no inclusiva) la fecha final. Así que para Access y para este ejemplo en cuestión yo no contaba de lunes a domingo, sino de fecha a fecha, teniendo en cuenta la exclusividad de la fecha final.
Lógicamente, la solución de sumar una unidad al resultado es perfecta. Sin más comentarios.
Ya me dirás. Un saludo,
Neckkito