|
NavegaciónInicio de sesiónEn lÃneaEn este momento hay 0 usuarios y 92 invitados en lÃnea.
|
Ayuda con mi Macro
Hola Amigos soy nuevo en este foro y la verdad necesito de su ayuda. Tengo la idea de hacer un complemeto para que haga una copia de la hoja activa en un libro nuevo "Este no es el problema" en el libro nuevo quiero agregar una modulo con algunas rutinas "Proteger la hoja y Desproteger" o agregar una rutina al Mismo libro que genere "Este es el problema" Digamne por favor si hay alguna forma de hacerlo Please!!!!
Enviado por UliCs el 19 Octubre, 2009 - 06:18. Re: Ayuda con mi MacroEnviado por UliCs el 20 Octubre, 2009 - 16:29.
Hola Muchas Gracias por la ayuda. Pero tengo que decir la verdad. podrias ser mas explicito por que la verdad tengo nociones pero no soy un master como vos. ayudame por favor.
Necesito saber Mas ![]() Re: Ayuda con mi MacroEnviado por pacomegia el 20 Octubre, 2009 - 20:10.
yo haría lo siguiente: en el complemento crearía un módulo con los procedimientos que quieras pasar al nuevo libro
Luego, el procedimiento que cree el nuevo libro y copie el contenido de este procedimiento tendría un aspecto como el siguiente:
Sub CopiarModuloNuevoLibro()
pruebalo a ver qué tal y me cuentas.
Re: Ayuda con mi MacroEnviado por UliCs el 21 Octubre, 2009 - 22:31.
Soss. un Genio. me dio un poco de problemas al inicio, pero navegando por ahi tuve que que habilitar la Referencia de Microsoft. Visual Basic for Apllications Extensibility 5.3 y funciono de maravilla Gracias nuevamente. ahora me surgio otra duda como lo puedo agregar a una hoja especifica o al mismo ThisWorkBook?
Necesito saber Mas
![]() Re: Ayuda con mi MacroEnviado por pacomegia el 22 Octubre, 2009 - 12:10.
En el editor de VBA, simplemente haz doble clic sobre la hoja o el libro donde quieras guardar el código. Esto abre a la derecha el código asociado a la hoja o al libro. En la barra de la aplicación aparece qué código estás editando.
Re: Ayuda con mi MacroEnviado por UliCs el 23 Octubre, 2009 - 01:21.
Perdon yo me referia a correr la Macro y copiar el codigo en la hoja creada o en ThisWorkBook del libro creado. Muchas Gracias por tu ayuda en verdad que eres un genio
Necesito saber Mas ![]() Re: Ayuda con mi MacroEnviado por pacomegia el 23 Octubre, 2009 - 15:08.
El truco está en VBComponents. De todos los componentes del proyecto, le decimos que lo escriba en el código del libro. por ejemplo, en este caso en que escribimos en el libro activo, para escribir un texto en el código del libro: ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule.AddFromString "'hola" Este ThisWorkbook es un texto, no es el objeto Thisworkbook que se refiere a tu complemento, es el componente del proyecto de Visual Basic que se llama "ThisWorkbook" dentro del libro activo.
Re: Ayuda con mi MacroEnviado por UliCs el 24 Octubre, 2009 - 13:48.
Oooohh muchas Gracias, ya entendi solo por curiosidad en el caso de querer meter una rutina algo larga la forma de dar renglon seria con (Chr(10)) Nuevamente Gracias. Saludos!!!!!
Necesito saber Mas |
cargando...
Buscar en necesitomas.comExcelómetroTemas nuevosLo más vistoHoy: |
Re: Ayuda con mi Macro
para editar el código de programación desde la propia programación, debes emplear la propiedad
VBProjectdel libro.dentro tienes la propiedad
VBcomponentsque representa los diferentes módulos etc que forman tu proyecto.por ejemplo, puedes utilizar
ActiveWorkbook.VBProject.VBComponents.Import "tucodigo.bas"para importar al libro activo un módulo que tengas guardado en un archivo llamado "tucodigo.bas" (yo prefiero tener el código en un archivo diferente)Tienes distintos métodos y propiedades para añadir módulos quitarlos, etc.
si quieres escribir el código desde dentro de la macro, aquí he encontrado un ejemplo. es el primero que he visto, no sé si será muy bueno o muy malo. es para Word, así que habla de thisdocument en vez de thisworksheet, pero puede servir para tener alguna pista de cómo hacerlo http://www.vbcity.com/forums/topic.asp?tid=63305
------
Ya sé Excel, pero necesito más
La potencia sin control no sirve de nada.
agradecimientos