Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2010, 10:23
winweb89
 
Fecha de Ingreso: mayo-2009
Mensajes: 23
Antigüedad: 15 años, 6 meses
Puntos: 0
Cómo añadir código vba dinamicamente

Hola a todos,

Estoy creando una aplicacion en Excel (2007) y me he encontrado con un problema que no he sido capaz de resolver, y tampoco he encontrado información Googleando.

La macro que estoy haciendo crea una nueva hoja cuando se ejecuta, y la rellena cruzando los datos de otras dos tablas. Cuando se termina con la tabla, esta se elimina, pues es bastante grande y hace crecer el tamaño del archivo.

Además, necesito que se ejecutase otra macro al seleccionar las celdas de la hoja creada en tiempo de ejecución (la de la tabla grande), para lo cual añado el siguiente código en el "Excel Object" de el explorador de proyectos de VBA correspondiente con la hoja creada ("HojaTemp")

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
(...)
End Sub

EL PROBLEMA es que cada vez que se borra la hoja, tambien se borra el "Excel Object" correspondiente a la hoja con el código que contiene. De esta forma, al crearse de nuevo la tabla cuando se solicite, no tiene la función de ejecutar la macro al seleccionar celdas, pues se eliminó el código.

Necesitaría una forma de añadir código VBA al objeto "hoja" en tiempo de ejecución o bien encontrar una forma de asociar el código de forma permanente a cualquier hoja llamada "HojaTemp" se elimine o no.

Espero vuestras respuestas.

Saludos y muchas gracias de antemano.

PD: Me parece que me he equivocado de foro. Tal vez estaría mejor en Ofimática, si algún administrador puede cambiarlo de sitio se lo agradecería.
Disculpen las molestias.

Última edición por winweb89; 17/07/2010 a las 10:40