asignar a una variable la via+nombrelibro+hoja

Tengo una macro que copia de d:\datos\tarifa.xls hoja1 la tarifa de precios actual al libro que tengo activo y en la hoja que tengo activa, todo esto al dar un botón.
Esta macro contiene las vías y nombres completos tanto del libro que tiene la información a copiar TARIFAS.XLS y que siempre es el mismo, como del libro que recibe la información y que es el que puede variar de nombre y de ubicación.
No se si me estoy explicando bien
El problema que tengo es que el libro activo cada vez es uno distinto, con una vía que puede ser diferente, pero el el libro que contiene la información a copiar siempre es el mismo d:\datos\tarifa.xls Hoja1. Por esto se me había ocurrido que igual en vez de poner en la macro la vía y nombre del libro que recibe la información, puede se posible ponerlo mediante una variable que recopile esta información en cada momento.
Si me poeis ayudar os lo agradecería

1 respuesta

1
Respuesta de
Hola
Si entiendo bien, lo que deseas es que tu macro tome el nombre del libro activo, es decir desde el cual invocas la macro y que finalmente recibirá el dato a copiar
pues bien, esta linea te da el nombre del libro Activo (el que esta en primer plano en tu monitor), ActiveWorkbook.Name
entonces para ligarlo al path (vía ), sencillamente debes concatenar la cadena
tu vía es: d:\datos\
debes declara un variable string , piodria ser llamada via
entonces
via="d:\datos\" & ActiveWorkbook.Name
ahora la variable via contiene la direccion completa del archivo a guardar, es decir la via  + el nombre del libro activo, si tu libro activo se llama Libro2, entonces en la variable via deberias tener:
d:\datos\Libro2.xls
Y así con cada nuevo libro activo desde el cual invoques el macro se guardara siempre en el mismo lugar d:\datos  ... pero cambiara el nombre del libro, ahora si abres un libro nuevo con el mismo nomber de uno ya guardado en esa vía, es posible que reemplaces el que ya existía allí, así que si no deseas eso, asegurate de abrir libros con nombres no repetidos
bye
Muchas gracias
Si veo que la idea la entendido bien.
Lo único es que necesito también recoger la vía del libro activo, pues el libro activo puede estar en distintos lugares de nuestro pc o incluso en un USB, pero la tarifa.txt siempre estará en el mismo sitio
Igual que ActiveWorkbook.Name recoge el nombre del libro activo, ¿existe alguna forma de recoger la vía del libro activo?
Para eso utiliza
ActiveWorkbook.FullName
Te da la vía completa incluyendo el nombre del libro activo
bye
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Microsoft Excel o hacer tu propia pregunta: