** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Macro para cambiar parte del contenido en un modul
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Macro para cambiar parte del contenido en un modul

 Responder Responder Página  123>
Autor
Mensaje
yimycol Ver desplegable
Habitual
Habitual


Unido: 23/Enero/2019
Localización: madrid
Estado: Sin conexión
Puntos: 76
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita yimycol Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Macro para cambiar parte del contenido en un modul
    Enviado: 23/Enero/2019 a las 19:45
Hola Buenas.

Necesitaría una macro dentro del mismo libro, que me cambie en una macros que están en Modulo 1 y 2

Parte del contenido.

Dentro de una ruta ejemplo: Libro Nº6 por Libro Nº7 o simplemente Nº6 por Nº7

Un Saludo.


Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11149
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 23/Enero/2019 a las 19:56
¿Excel?
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
yimycol Ver desplegable
Habitual
Habitual


Unido: 23/Enero/2019
Localización: madrid
Estado: Sin conexión
Puntos: 76
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita yimycol Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 23/Enero/2019 a las 20:43
Si
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton
Estado: Sin conexión
Puntos: 3418
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita lbauluz Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 23/Enero/2019 a las 22:12
Movido al foro correspondiente

Estos son mis principios. Si no le gustan... tengo otros
Arriba
yimycol Ver desplegable
Habitual
Habitual


Unido: 23/Enero/2019
Localización: madrid
Estado: Sin conexión
Puntos: 76
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita yimycol Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 24/Enero/2019 a las 09:50
que seccion del foro es ???
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11149
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 24/Enero/2019 a las 10:06
Ya te lo cambió Luis al foro de Excel.
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5492
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AnSanVal Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 24/Enero/2019 a las 13:28
Lo más útil es utilizar una variable. La variable más «barata» abundante y que menos recursos utiliza es una celda (que además conserva su valor, aún con el libro cerrado).

Publica parte del código, que sea representativo y que contenga tu ruta e indica el texto variable y te daré un ejemplo. Decide si prefieres con una celda o con una variable de VBA.

Editado: Como quieres que valga para 2 módulos, insisto con la celda.


Editado por AnSanVal - 24/Enero/2019 a las 13:33
Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
yimycol Ver desplegable
Habitual
Habitual


Unido: 23/Enero/2019
Localización: madrid
Estado: Sin conexión
Puntos: 76
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita yimycol Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 24/Enero/2019 a las 13:53
Partiendo que yo de macros lo más de lo más básico, algunas que encuentro en internet y las entiendo las acoplo a mis temas.

La celda donde estaría el dato a cambiar en los módulos  ejemplo: G10 nombre de hoja CENTRADAS.

Esta sería una de las varias macros que están en el modulo 1 y mas de lo mismo en modulo 2, el dato a cambiar seria  LIBRO Nº6 por LIBRO Nº7 o Nº6 por Nº7, que irá cambiando en G10 hoja CENTRADAS.

 

Sub  UNA_2010_11 ()

Application.ScreenUpdating = False

Workbooks.Open Filename:="C:\Users\root\Desktop\ESCRITORIO\CARPETA1\LIBRO1\CARPETA2\CARPETA3\LIBRO Nº6\2010-11\LIBRO3.xlsm"

Sheets("HOJA1").Select

Range("C34").Select

Application.Run "'LIBRO3.xlsm'! RUTAS_VARIANTES"

End Sub

Y desde un libro maestro que sería el mismo donde reflejo la explicación de arriba, hacer lo mismo pero de otros libros en otras carpetas.

 

Un Saludo.

Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5492
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AnSanVal Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 24/Enero/2019 a las 14:45

Sub UNA_2010_11()

Dim nombre$, ruta$, nuevoLibro$

'Código en verde opcional.

nuevoLibro = InputBox("Escribe el nombre del libro." & vbLf & "(texto variable)", "yimycol", "LIBRO Nº7")

If nuevoLibro <> "" Then Worksheets("CENTRADAS").Range("G10").Value = nuevoLibro

nombre = Worksheets("CENTRADAS").Range("G10").Value

ruta = "C:\Users\root\Desktop\ESCRITORIO\CARPETA1\LIBRO1\CARPETA2\CARPETA3\"

Application.ScreenUpdating = False

Workbooks.Open Filename:=ruta & nombre & "\2010-11\LIBRO3.xlsm"

Sheets("HOJA1").Select

Range("C34").Select

Application.Run "'LIBRO3.xlsm'! RUTAS_VARIANTES"

End Sub


Al no tener (en mi equipo) tus carpetas y tus archivos, no he probado el código.


Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
yimycol Ver desplegable
Habitual
Habitual


Unido: 23/Enero/2019
Localización: madrid
Estado: Sin conexión
Puntos: 76
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita yimycol Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 24/Enero/2019 a las 19:28
Perdona no entiendo esta macro ??? tu macro dentro de mi macro ???

Si yo solo pretendo cambiar en las macros de los modulos este dato LIBRO Nº6 por este otro LIBRO Nº7

Que en la hoja1 del librox en celda x seria segun necesidad iria poniendo el dato a cambiar en los modulos, LIBRO Nº7,LIBRO Nº8 ect.....

Salvo que esta macro sea solo para cambiar datos de la macro de otros libros ???

Un Saludo.



Editado por yimycol - 24/Enero/2019 a las 19:43
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5492
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AnSanVal Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 25/Enero/2019 a las 00:45
Lo que he hecho es modificar tu macro para que Libro Nºx sea variable. No son dos macros una dentro de otra sino solamente una.
Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
yimycol Ver desplegable
Habitual
Habitual


Unido: 23/Enero/2019
Localización: madrid
Estado: Sin conexión
Puntos: 76
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita yimycol Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 25/Enero/2019 a las 09:09
o sea que cuando ejecuto mi misma macro UNA_2010_11 que va a otro libro a elecutar RUTAS_VARIANTES de paso cambia el dato de la macro Nº6 a Nº7 ???

Un Saludo.

Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5492
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AnSanVal Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 25/Enero/2019 a las 12:34

Voy por partes:


1.- No veo la razón de llamar a una (sub)carpeta LIBRO Nº6 (y otras: CARPETA1\LIBRO1\ etc.) ...

Workbooks.Open Filename:="C:\Users\root\Desktop\ESCRITORIO\CARPETA1\LIBRO1\CARPETA2\CARPETA3\LIBRO Nº6\2010-11\LIBRO3.xlsm"

...  ya que una carpeta no es un libro y me resulta poco descriptivo (como también. CARPETA1, CARPETA2,...), pero cada quien …


2.- Yo interpreto que lo que quieres que sea variable es el nombre de esa (sub) Carpeta (en rojo), (entiendo que CARPETA3 tiene varias subcarpetas denominadas LIBRO Nº6, LIBRO Nº7, etc.), por tanto en CENTRADAS!G10 debes escribir dicho nombre, y luego tus módulos (cada uno) deben leer el nombre que contiene esta celda (esa es mi modificación). Cuando quieras que tus módulos trabajen con un nombre diferente; simplemente cambias el nombre en CENTRADAS!G10 y ejecutas tus módulos (macros).


3.- Me resulta curioso que quieras variable el nombre de esa (sub) carpeta, pero mantengas constante la siguiente (sub) carpeta y el nombre del libro 2010-11\LIBRO3.xlsm.

Como te veo 'algo verde' con VBA te simplifico la macro (y dejo lo esencial):


Sub UNA_2010_11()

Dim nombre$, ruta$

nombre = Worksheets("CENTRADAS").Range("G10").Value

ruta = "C:\Users\root\Desktop\ESCRITORIO\CARPETA1\LIBRO1\CARPETA2\CARPETA3\"

Application.ScreenUpdating = False

Workbooks.Open Filename:=ruta & nombre & "\2010-11\LIBRO3.xlsm"

Sheets("HOJA1").Select

Range("C34").Select

Application.Run "'LIBRO3.xlsm'! RUTAS_VARIANTES"

End Sub



>>> Debes realizar la modificación correspondiente en cada módulo (me temo que tu código se podría simplificar bastante).



Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5492
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AnSanVal Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 25/Enero/2019 a las 12:43

Otra versión, para que te resulte más fácil las modificaciones (parte en rojo):


Sub UNA_2010_11()

Application.ScreenUpdating = False

Workbooks.Open Filename:="C:\Users\root\Desktop\ESCRITORIO\CARPETA1\LIBRO1\CARPETA2\CARPETA3\" & Worksheets("CENTRADAS").Range("G10").Value & "\2010-11\LIBRO3.xlsm"

Sheets("HOJA1").Select

Range("C34").Select

Application.Run "'LIBRO3.xlsm'! RUTAS_VARIANTES"

End Sub



Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
yimycol Ver desplegable
Habitual
Habitual


Unido: 23/Enero/2019
Localización: madrid
Estado: Sin conexión
Puntos: 76
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita yimycol Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 25/Enero/2019 a las 14:16
Bueno no se si no entiendo o no me explico, acabo de acoplar esta macro, las mas facil

Sub UNA_2010_11()

Application.ScreenUpdating = False

Workbooks.Open Filename:="C:\Users\root\Desktop\ESCRITORIO\CARPETA1\LIBRO1\CARPETA2\CARPETA3\" & Worksheets("CENTRADAS").Range("G10").Value & "\2010-11\LIBRO3.xlsm"

Sheets("HOJA1").Select

Range("C34").Select

Application.Run "'LIBRO3.xlsm'! RUTAS_VARIANTES"

End Sub

Lo unico que hace es abrir el LIBRO3 nada mas, no modifica ningún dato en los modulos 1 y 2 de este Libro3, claro dentro de lo poco que entiendo en la macro no veo referencia alguna a modulos.

Y si la acoplo sobre el LIBRO1 que es el libro maestro para cambiar dato en el modulo que hace referencia  G10, pues aquí error 1004.

Quizas no me explico bien esta macro como ejemplo en un libro1 y en su modulo

 Sub UNA_2010_11()

De todo lo que la compone, solo quiero cambiar desde G10, en esta parte de macro

Workbooks.Open Filename:="C:\Users\root\Desktop\ESCRITORIO\CARPETA1\LIBRO1\CARPETA2\CARPETA3\LIBRO Nº6\2010-11\LIBRO3.xlsm"

Cambiar LIBRO Nº6 por LIBRO Nº7 o sea lo que escriba en G10.

Y una vez conseguido esto, pues lo mismo pero para otro defirente Libro .

Esta macro con su ruta original abre LIBRO3 desde LIBRO1 .

Perdon si la culpa es por mi explicación, pero creo que en el titulo del post esta claro, Macro para cambiar parte del contenido de un Modulo.

Un Saludo.

Arriba
 Responder Responder Página  123>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable