Copiar rango variable vía VBA

Buenas tardes,
Para cada una de las empresas de mi grupo de empresas, tengo que crear un libro que debe contener la contabilidad anual. Cada libro contendrá 13 hojas: 12 para los meses del año (de enero a diciembre) y una de resumen anual. En total n libros por 13 hojas (donde "n" es el número de empresas a gestionar).
Primeramente creo un libro "base", del que iré haciendo copias para ir generando los siguientes libros. En la primera hoja de este libro, que corresponderá al mes de enero, creo las celdas, formatos y fórmulas que necesito.
Luego creo las siguientes 11 hojas (correspondientes a los meses sucesivos) copiándolas de la de enero, así no tengo que volver a calcular fórmulas.
Y finalmente, creo la hoja de resumen. Hago "Save" del libro "base".
Mi problema es el siguiente:
Mientras he ido creando la hoja de enero del libro "base" (cuyos conceptos -filas- varían para cada año), he guardado en un rango las celdas que quiero que estén desbloqueadas para el usuario (las otras deberán estar bloqueadas). Este rango, una vez creado, es siempre el mismo para las 12 hojas mensuales y las "n" empresas, pero puede variar dependiendo de los conceptos que se quiera computar en el año en cuestión.
Abro y hago "SaveAs" de este libro "base" para ir creando los libros de cada empresa. Antes de hacer el "SaveAs" cambio el nombre y logo de la empresa de turno en las celdas correspondientes de las 13 hojas.
Y ahora viene el quid de la cuestión:
¿Cómo hago para bloquear todas las celdas de las hojas mensuales, excepto aquellas que he guardado en un rango en el momento en que genero la primera hoja del libro "base"? Pareciera que no tengo acceso a ese rango una vez empiezo el bucle de crear libros.
Llevo días con este tema y no acabo de sacar el agua clara.
Un saludo y gracias por la atención.
YinYang

1 Respuesta

Respuesta
1
Has creado tu hoja Enero y has marcado tus celdas bloqueadas y tus celdas desbloqueadas, y luego has copiado la hoja para crear Febrero... hasta Diciembre, pero ¿te has asegurado de ir protegiendo hoja por hoja, y en ellas has marcado la opción Permitir seleccionar las celdas desbloqueadas?
Una vez echo esto ya si puedes ir guardando los libros con diferentes nombres.
>Un saludo
>Julio
Gracias por tu respuesta. Lo pruebo y te digo algo (tardaré unas horas).
Un saludo.
Vale de acuerdo, espero que te sirva
>Un saludo
>Julio
No sé si he entendido bien tu respuesta.
Todo esto lo hago al pulsar un botón asociado a una macro en VBA, y mi problema es que si creo un rango en la primera hoja del primer libro (que va a contener las celdas no bloqueadas), cómo acceder a ese rango pero que apunte a las celdas de la hoja enésima del enésimo libro.
Un saludo y gracias de nuevo.
No me he referido a crear un rango (dándole nombre) te explico, el excel por defecto todas las celdas están bloqueadas (en formato de celdas>bloquear) para que al proteger la hoja se queden las celdas que tu quieres poder seleccionar y utilizar debes primero, seleccionar las celdas que necesitas utilizar y en formato de celdas desprotegerlas. Ahora en herramientas>Proteger hoja te muestra la posibilidad de poner contraseña y elegir abajo la forma de utilización de las celdas, pues ahí debes de quitar el trazo a la opción de que los usuarios puedan seleccionar las celdas bloqueadas. Así podrás utilizar esas celdas desde la macro. Una vez echo esto como todas las hojas del libro tienen el mismo formato pues debes de copiar la hoja y en cada hoja de tu primer libro debes de seleccionar la hoja y elegir pegado especial y pinchas en formato. Así todas las celdas de esa hoja tendrán el mismo formato que la primera. Esto debes hacerlo en todas las hojas del primer libro (puedes crearte una macro que lo haga o como son 12 meses hacerlo a mano 12 veces. Y una vez preparado el libro plantilla, puedes guardar como tantos libros como quieras, todos estarán con los mismos formatos, celdas desbloqueadas y bloqueadas.
Espero que ahora me hayas entendido.
>Un saludo
>Julio
Ante todo, disculpa la tardanza en contestar.
Aunque no es exactamente lo que necesito, lo de "Pegado especial" me solventa parte del problema.
Muchas gracias por tu interés

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas