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" %>