direi uso di include e basta senza utilizzare tante sub o altro, al massimo nell'include ti inserisci dei valori parametrici nel senso
una esempio di layout di pagina (grossolano) gestito con include potrebbe essere
codice:
<%@Language="Vbscript"%>
<html>
<head>
<title>esempio</title>
</head>
<body>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3" valign="top"><!--include file="intestazione.asp"></td>
</tr>
<tr>
<td valign="top" width="20%">
<td valign="top">
'Parte lasciata allo sviluppo personalizzato della pagina
</td>
<td valign="top"><!--#include file="sinistra.asp"></td>
</tr>
<tr>
<td colspan="3" valign="top"><!--include file="piedipagina.asp"></td>
</td>
</tr>
</Table>
</body>
Se ti serve qualcosa di parametrico fai in modo di lasciarlo parametrico nell'include
esempio:
menu.asp
<span class="Titolone"><%=TitoloPagina%></span>
<table><tr>.......</td></table>
e prima di includere il menu ti basta impostare
<% TitoloPagina = "EVENTI DEL MESE" %>