Foros del Web » Soporte técnico » Ofimática »

Macro que cree una hoja cuando se abre el libro

Estas en el tema de Macro que cree una hoja cuando se abre el libro en el foro de Ofimática en Foros del Web. Lo que queria hacer era que cuando el usuario abra el libro se cree automaticamente una hoja. Esto lo hago programando el evento Workbook_Open() . ...
  #1 (permalink)  
Antiguo 25/03/2008, 11:01
 
Fecha de Ingreso: marzo-2008
Mensajes: 23
Antigüedad: 16 años, 1 mes
Puntos: 0
Macro que cree una hoja cuando se abre el libro

Lo que queria hacer era que cuando el usuario abra el libro se cree automaticamente una hoja. Esto lo hago programando el evento Workbook_Open() .

Ahora bien, esa hoja que se crea contiene optionbuttons e imagebuttons los cuales a su vez deverian tener los eventos correspondientes programados en dicha hoja.

Como hago para que la hoja que se me crea automaticamente cuando abro el libro (y que tiene botones de comando), ya tenga los eventos correspondientes programados?????

Es decir, cuando le hacemos click a algun option buton de dicha hoja este debe ejecutar el evento (porque la hoja que se creo ya lo tiene programado).

Se entiende mi pregunta????

Gracias por la ayuda
  #2 (permalink)  
Antiguo 25/03/2008, 15:02
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Re: Macro que cree una hoja cuando se abre el libro

1- Cual es la intencion de hacer algo asi?
2- Pero, como andas en VBA????

Abraham
  #3 (permalink)  
Antiguo 26/03/2008, 05:30
 
Fecha de Ingreso: marzo-2008
Mensajes: 23
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Macro que cree una hoja cuando se abre el libro

Saludos nuevamente abraham. La idea de hacerlo asi seria simplemente para que en el explorador de proyectos del VBA solo me aparezca la carpeta Microsoft Excel Objects y no la de modulos o formularios jaja, solo eso. Queria saber si se puede hacer lo que te comentaba.

En otras palabras, la hoja que se crea haria de "formulario" (cuando el usuario abre el libro la hoja se carga, se cargan todos los controles y luego se proteje para evitar modificaciones accidentales- metodo protect). Es decir, la hoja solo haria de contenedor de controles y no podria modificarse (como un formulario).

En el libro tambien existen 2 hojas que solo contienen informacion. Te comento de que se trata:

El libro es informacion sobre una estrategia de poker que se llama Short Stack Strategy. La primer hoja es un resumen de la estrategia (texto y tablas). La segunda hoja es una gran tabla que reune toda la estrategia paso a paso. Y la tercer hoja es la hoja que se crea cuando se habre el libro.

En otras palabras, la tercer hoja es como un uilitario que le ayuda al usuario a aplicar correctamente la estrategia.

Hace poco que estoy en esto del VBA, soy todo un novato jaja. Por eso antes de meterme con formularios y modulos queria ver si se podia hacer integramente con macros para excel.

Es posible hacer lo que quiero hacer? se puede hacer que la hoja que se crea al abrir el libro ya tenga programado los eventos?

Saludos y gracias nuevamente por tu ayuda abraham
  #4 (permalink)  
Antiguo 26/03/2008, 13:23
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Re: Macro que cree una hoja cuando se abre el libro

Primero que nada, te comentare que con macros, podriamos decir, de forma exagerada, que se puede hacer de todo

Sobre tu repuesta, pues, en serio, sigo sin verle una ventaja, pues, bien podrias tener, de todos modos, la hoja con los objetos, sin necesidad de crearlos al arbir el archivo. Ten en cuenta, de todos modos, que al crearla y grabarla, pues, de todos modos quedara ahi, y ademas, la macro que la crea, la siguiente vez, creara otra, y asi sucesivamente.

Si insites en querer hacerlo, pues te comentare que debes tener, al menos, un nivel medio de VBA, ya que para crear los eventos de los objetos nuevos, hay que recurrir a digitar a traves de VBA, las macros correspondientes. ADemas, abria que hacer, que para que no se cree una nueva hoja "eternamente", pues al crearse la primera vez, se borre la macro creadora, es decir, hay que borrar una macro con otra macro.

En fin, con sinceridad, me parece que estas yendo muiy rapido, o quizas, no analizando el dilema bien.

PAra empezar, lee aqui... eso si, sin una base soida de VBA, pues, no creo que entiendas facilmente:

http://www.cpearson.com/excel/vbe.aspx

Abraham
  #5 (permalink)  
Antiguo 28/03/2008, 06:40
 
Fecha de Ingreso: marzo-2008
Mensajes: 23
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Macro que cree una hoja cuando se abre el libro

Gracias Abraham la pagina me ha resultado muy ùtil y ya lo pude hacer.

Por otro lado tienes razon, la verdad no se cual es el sentido de hacerlo asi jaja. Supongo que solo lo hago para aprender, muchas veces hago lo mismo de muchas formas diferentes digamos que solo para ir aprendiendo.

Aprobecho para hacerte una pregunta al respecto, como hago para cargar una referencia desde codigo???? Tengo que cargar la referencia "Microsoft visual Basic for Applications Extensibility 5.3" desde el menu Erramientas - Referencias y queria saber si esto se puede hacer desde codigo. Tambien me gustaria saber como quitar la referencia cuando se cierre el libro y averiguar si ya esta abierta cuando se abra. Si tienes material para recomendarme sobre este tema de las referencias tambien me vendria bien . Mil gracias por tu ayuda Abraham, saludos
  #6 (permalink)  
Antiguo 28/03/2008, 10:32
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Re: Macro que cree una hoja cuando se abre el libro

Que bueno que vas avanzando bien, y que te sirvio la pagina enviada. Sobre hacerlo para demostrar que se puede y para aprender, pues, perfecto, esa ya es una razon, o mejor dicho, dos

PAra quitar y/o activar referencias a atraves de codigo, pues, al verdad, no te podria indicar una pagina en especial o alguna lectura que conosca, en todo caso, usando google encontraras:

Se usa los métodos AddFromFile o AddFromGuid del objeto References, o, para quitarlos, el método Remove. La jerarquía del objeto References es:

Application --> VBE --> ActiveVBProject --> References.

Abraham
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:38.