Insertar hoja en un libro de excel desde una ruta variable

17/10/2012 - 13:31 por pomares71 | Informe spam
¡ Hola !
Tengo un libro de excel desde el que creo listados de alumnos por meses. Mediante una macro asociada a un cuadro de texto, para cada listado nuevo, inserto una nueva hoja, que es un archivo llamado "NUEVO LISTADO.xltm", y que se encuentra en la misma carpeta que el libro de excel donde es insertada la hoja nueva, hasta aqui todo funciona correcto, pero lo que yo quiero es que cuando copie y pege toda la carpeta donde se encuentran los dos archivos, en otra ubicacion, la macro siga funcionando, pero me marca error porque he cambiado la ruta del archivo.
Este es el codigo que utiliza la macro,
Sub NUEVO_LISTADO()

' NUEVO_LISTADO Macro

Application.ScreenUpdating = False
Application.DisplayFullScreen = True
Sheets.Add Type:="C:\Users\usuario\Desktop\COMEDOR VANE\Listados Comedor\NUEVO LISTADO.xltm"
Application.DisplayAlerts = False
Workbooks("LISTADOS COMEDOR 1 - copia.xlsm").Activate
Sheets("PAGINA PRINCIPAL 1").Visible = False
Sheets("Hoja1").Select
Application.ScreenUpdating = True
End Sub
¿alguien puede decirme como puedo hacer que la ruta sea una variable?

Preguntas similare

Leer las respuestas

#1 Abraham Valencia
17/10/2012 - 14:23 | Informe spam
Si todo esta siempre en la misma carpeta, basta usar 'Thisworkbook.Path' en lugar de usar la ruta completa como estas usando hasta ahora.

Abraham


El miércoles, 17 de octubre de 2012 06:31:18 UTC-5, pomares71 escribió:
ᅵ Hola !

Tengo un libro de excel desde el que creo listados de alumnos por meses.

Mediante una macro asociada a un cuadro de texto, para cada listado nuevo,

inserto una nueva hoja, que es un archivo llamado "NUEVO

LISTADO.xltm", y que se encuentra en la misma carpeta que el libro de excel

donde es insertada la hoja nueva, hasta aqui todo funciona correcto, pero lo

que yo quiero es que cuando copie y pege toda la carpeta donde se encuentran

los

dos archivos, en otra ubicacion, la macro siga funcionando, pero me marca error

porque he cambiado la ruta del archivo.

Este es el codigo que utiliza la macro,

Sub NUEVO_LISTADO()



' NUEVO_LISTADO Macro



Application.ScreenUpdating = False

Application.DisplayFullScreen = True

Sheets.Add Type:="C:UsersusuarioDesktopCOMEDOR VANEListados ComedorNUEVO

LISTADO.xltm"

Application.DisplayAlerts = False

Workbooks("LISTADOS COMEDOR 1 - copia.xlsm").Activate

Sheets("PAGINA PRINCIPAL 1").Visible = False

Sheets("Hoja1").Select

Application.ScreenUpdating = True

End Sub

ï¿œalguien puede decirme como puedo hacer que la ruta sea una variable?
Respuesta Responder a este mensaje
#2 pomares71
17/10/2012 - 22:29 | Informe spam
Abraham Valencia escribió el 17/10/2012 14:23 :
Si todo esta siempre en la misma carpeta, basta usar 'Thisworkbook.Path' en
lugar de usar la ruta completa como estas usando hasta ahora.

Abraham


El miércoles, 17 de octubre de 2012 06:31:18 UTC-5, pomares71
escribió:
ᅵ Hola !

Tengo un libro de excel desde el que creo listados de alumnos por meses.

Mediante una macro asociada a un cuadro de texto, para cada listado nuevo,

inserto una nueva hoja, que es un archivo llamado "NUEVO

LISTADO.xltm", y que se encuentra en la misma carpeta que el libro de
excel

donde es insertada la hoja nueva, hasta aqui todo funciona correcto, pero lo

que yo quiero es que cuando copie y pege toda la carpeta donde se encuentran

los

dos archivos, en otra ubicacion, la macro siga funcionando, pero me marca
error

porque he cambiado la ruta del archivo.

Este es el codigo que utiliza la macro,

Sub NUEVO_LISTADO()



' NUEVO_LISTADO Macro



Application.ScreenUpdating = False

Application.DisplayFullScreen = True

Sheets.Add Type:="C:UsersusuarioDesktopCOMEDOR VANEListados ComedorNUEVO

LISTADO.xltm"

Application.DisplayAlerts = False

Workbooks("LISTADOS COMEDOR 1 - copia.xlsm").Activate

Sheets("PAGINA PRINCIPAL 1").Visible = False

Sheets("Hoja1").Select

Application.ScreenUpdating = True

End Sub

ï¿œalguien puede decirme como puedo hacer que la ruta sea
una variable?




Hola Abraham:

Gracias por contestar tan pronto, he hecho lo que me aconsejas, pero ma sale un mensaje de error, que dice:
Se ha producido el error '13' en tiempo de ejecucion:
no coinciden los tipos.
¿Por que ocurre esto?
el codigo queda asi:

Sub NUEVO_LISTADO()
Application.ScreenUpdating = False
Application.DisplayFullScreen = True
Sheets.Add Type:=ThisWorkbook.Path \ "NUEVO LISTADO.xltm"
Application.DisplayAlerts = False
Workbooks("LISTADOS COMEDOR 1 - copia.xlsm").Activate
Sheets("PAGINA PRINCIPAL 1").Visible = False
Sheets("Hoja1").Select
Application.ScreenUpdating = True
End Sub

Gracias, y perdona mi torpeza, pues no soy muy diestro con esto de la programacion, he aprendido trasteando, y leyendo en internet.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida