RE:Crear una DLL con funciones
Tendrías que crear un nuevo proyecto, pero del tipo "DLL ActiveX". Luego cambiale el nombre al proyecto por uno más adecuado (por defecto te pone Proyecto1). Allí automáticamente se va a crear un módulo de clase llamado Class1 (también cambiale el nombre por el que vos quieras).
Dentro de ése módulo escribí todas las funciones que desees, y luego compilá el proyecto (Archivo/Generar MiProyecto.DLL).
Ahora el temas es cómo usar las funciones...
tenés dos opciones: o usás la DLL que compilaste, o agregás el proyecto de la DLL al proyecto de tus programas (eso queda en vos cómo lo quieras hacer). en ambos casos deberás hacer lo mismo:
Abrí el proyecto de uno de tus programas, vas a Proyecto/Referencias... y buscás en la lista el nombre que le diste a tu dll (el nombre que aparece es el que le diste al proyecto de la dll, no el de class1, ese lo veremos mas adelante). Suponiendo que tienes una funcion dentro de la dll que calcula el cuadrado de un numero, deberías usarla así:
'Creas el objeto de la DLL con tus funciones en una variable "FuncionesEspeciales
Dim FuncionesEspeciales As New NombreQueLePuseAClass1
MsgBox FuncionesEspeciales.Cuadrado(5)
La diferencia se encuentra en que si agregas el proyecto dll al proyecto del programa, tendrás la posibilidad de depurar el código del programa junto con el de las funciones de la DLL. También ahora el archivo con el cual debes comenzar (o sea hacer doble click para abrirlo) no será el del Programa.vbp, sino que será el de Programa.vbg (por VisualBasicGroup) ya que ahora tienes más de un proyecto. Algo a tener en cuanta, es que por más que estén los dos proyectos juntos, a la hora de hacer el ejecutable, tendrás que hacer por un lado la DLL, y por el otro el programa.
Espero que todo esto te haya servido de ayuda.
Cualquier duda envíame un mail.
Saludos!