Saltar al contenido

Crear Pestañas Nuevas Automáticamente al Seleccionar Casillas


Recommended Posts

Buenas noches @JSDJSD@tese1969  e @Israel Cassales 

Ante todo agradeceros a los tres vuestras aportaciones y sugerencias, están siendo de gran ayuda. 

Voy comentando, cada punto indicado en vuestros mensajes, espero no dejarme nada.

Respecto a la propuesta planteada por @JSDJSD, la verdad parece bastante simple e intuitiva. Entiendo que es equivalente a lo que hemos trabajado con @tese1969 y el único cambio es que la selección de las plantillas, aparece en forma de formulario cuando clicas en el botón llamado "Formulario". También he visto que el comportamiento del check (activar/desactivar) es distinto, la verdad que ambas opciones me gustan y son funcionales para lo que necesitamos. 

Con @tese1969hemos estado trabajando bastante en la solución y la verdad conoce en detalle todas las casuísticas posibles y suele anticipar muy bien, los posibles problemas. Me gustaría continuar, con la solución que hemos venido trabajando con tese1969, si ves más usable el formato en forma de formulario, que aparece al clicar un botón, también me gusta.

Relacionado a lo que comentas @tese1969, respondo a los puntos mencionados:

Cita

Este usuario necesitará unas pequeñas indicaciones cuando reciba el archivo sobre cómo usarlo y es ahí dónde me surgen muchas dudas acerca de si realmente no estaremos complicando mucho una solución que seguramente esté más cerca del sentido común.

Mi objetivo es que el archivo sea totalmente intuitivo y que no necesite más indicaciones, fuera de lo que incluyamos en el Excel. Como comentas, me gustaría que fuera algo simple y usable para que cualquiera pueda completarlo sin necesidad de ninguna formación. Para ello, trataré de simplificarlo y no complicarlo.

Cita

Por ejemplo, si este usuario necesita usar la plantilla 1, daría click para que se mostrara. A continuación seguramente intentaría ingresar datos en dicha plantilla, por lo que si realiza posteriormente una copia de dicha plantilla, se copiarían también los datos ingresados en la misma y que con toda seguridad no serían correctos para esa otra plantilla duplicada. Esto se podría solucionar creando una copia directamente de esa plantilla en vez de mostrarla, es decir, algo así como "Plantilla1_1".

Tienes razón en lo que indicas. Puede haber dos casuísticas, la primera es que el usuario seleccione al comienzo del proyecto, dos veces o las que sean, el mismo servicio (plantilla X), desde el comienzo, porque ese proyecto consta de ese servicio dos veces (no es lo habitual pero puede pasar). La segunda casuística es la que comentas, que después de completar la información, deba agregar un nuevo servicio porque cambia el requerimiento del cliente (tampoco es habitual, pero puede pasar). Para solucionar lo que indicas, en este último caso, lo mejor es la solución que propones, que se cree siempre una copia de la plantilla en vez de mostrarla y así las nuevas plantillas duplicadas nunca tendrán datos completados.

Cita

Lo que me trae de cabeza es si realmente tiene sentido tener una función para eliminar una plantilla cuando en teoría se han creado para usarse. En caso de una estimación incorrecta siempre se podría eliminar manualmente 1 plantilla en concreto, que parece que no es demasiado complicado para un usuario de Excel. Además, antes de eliminar esa pestaña el sistema te avisa para que lo confirmes. En el código que te propuse no lo hace porque está deshabilitado.

Me parece bien lo que indicas, yo también creo que es posible que intentar automatizar la parte de eliminar las pestañas puede complicarlo demasiado y hacerlo menos usable e intuitivo. Lo normal es que un proyecto tenga varios servicios distintos, esta casuística de duplicar plantillas se producirá, pero no es la más común. Puedo indicar a los usuarios que van a completar la información, que eliminen a mano lo que creen por error, así me aseguro de no borrarles nada que hayan comenzado a trabajar. Respecto a esto que hablamos, la duda que me surge es, si un usuario elimina una plantilla de forma manual, ¿qué pasa con el contador y la información de la pestaña general? Simplemente, No coincidirá el contador y el check con las pestañas que realmente haya (ya que se habrán eliminado plantillas de forma manual) o se actualizará ese contador y el check con las plantillas que vayan eliminando?

Respondo a lo comentado por @Israel Cassales, para que esté más claro cuál va a ser el uso de la información:

Cita

Desde el diseño se puede anticipar si Excel es la mejor herramienta para este tipo de escenarios que involucran varios usuarios porqué llegan indudablemente a varias interrogantes ¿Cada usuario va usar un libro? Si la respuesta es sí, ¿Cómo consolidan?  ¿Varios usuarios usaran el mismo libro? ¿Se compartirá? ¿Hay un escenario donde tengan que trabajar en el libro uno o más usuarios al mismo tiempo? Si se piensa en un solo usuario como bien menciona Tese1969 algo más sencillo puede ser mejor opción y demasiada protección es innecesaria. Sin son varios usuarios, aunque en VBA (tarde o temprano llegarán a ese punto) puedes crear accesos, contraseñas, incluso trabajar mostrando solo el formulario sin mostrar las hojas de Excel, cosas tan simples como desactivar las macros o peor aún eliminar el libro puede causarte problemas mayores.

Este libro de Excel será utilizado por las distintas personas de un área. Cuando tengamos la versión final del libro, yo enviaré el libro al área para que cada persona, complete este libro, con cada proyecto que entre en la empresa. Cada proyecto es gestionado por una persona y esa persona deberá completar toda la información del libro. Cada libro será un proyecto diferente. No se comparte el libro, sino que cada usuario tiene un proyecto asignado y completará la información del libro. Esa persona, cuando complete la información del libro, me enviará el documento con todas las plantillas que correspondan rellenadas. No entiendo bien a qué te refieres, con la consulta de cómo consolidan, el usuario debe completar la información de las plantillas y enviarme el libro. No es posible que trabaje más de un usuario el mismo libro, no se comparte.  Como indicas, me gustaría algo más sencillo y sobre todo que sea intuitivo para que cualquiera pueda completar la Información, tan solo viendo el archivo. 

Muchísimas gracias por vuestro apoyo.

Un saludo,

Enlace a comentario
Compartir con otras webs

Buenas, María

He intentado equilibrar la posible solución teniendo en cuenta que tú habías diseñado este archivo para que de alguna manera contara el número de plantillas que había por cada tipología.

Como bien indicabas la opción de que pudieran eliminar manualmente las plantillas acabaría un poquito con esa filosofía al tener el Textbox bloqueado para que no pudieran modificarlo manualmente.

En resumen, he mantenido la opción de eliminar las pestañas con el control númerico pero ahora lo que hace es preguntarte directamente si quieres eliminar esa plantilla en concreto. Si lo confirmas, pues la elimina y actualiza el contador. Si no lo confirmas, pues no pasa nada y se salva la plantilla.

No quería que al final te quedaras con la sensación de que tus expectativas iniciales fueran vilipendiadas...jejeje

He eliminado todos tus botones iniciales salvo los que están arriba (por si quisieras hacer algo con ellos) y he incluido los controles para la plantilla 2.

Prueba a ver si ahora más o menos te podría valer y ya comentamos después cómo podrías intentar incluir el resto y las modificaciones necesarias, que ya te adelanto que no serán pocas, pues dudo mucho que tus plantillas reales se llamen "Plantilla 1, Plantilla 2, etc...." y hay partes del código donde el nombre debe ser el real.

Un saludo a todos los intervinientes, pues creo que estos mini-debates dan sentido realmente a algo que se hace llamar "foro".

Tese

Proyectos Estándares_v3.zip

Enlace a comentario
Compartir con otras webs

Otra opción fácil para el usuario seria tener un formulario con las diferentes plantillas, con el que podríamos registrar tantas como sea necesario de cada una, almacenándose estas en su respectiva “Base de datos” para después cuando queramos poder imprimirlas listarlas etc...

El usuario solamente tendría que rellenar las plantillas que necesite y pulsar el botón guardar e inmediatamente seleccionar la que quiere imprimir y pulsar el botón correspondiente.

Con esto evitas tener que crear/borrar hojas por cada plantilla que quieras replicar así como tener un histórico de todas las plantillas solicitadas.image.thumb.gif.a37c7e68883d11e0b50c5118ba3eea6a.gif

Enlace a comentario
Compartir con otras webs

Buenas tardes. 

Muchas gracias por tu propuesta @JSDJSD, la verdad se ve muy profesional y completa. Para esta primera versión del archivo, voy a trabajar algo más simple, para ver si es aceptado por las áreas y más adelante, como posible mejora, me interesa mucho tu propuesta y poder ver una pestaña propia para las plantillas. Muchísimas gracias por el apoyo.

Respecto a la última versión que has enviado @tese1969, me gusta mucho. Es lo que buscaba, simple y muy intuitiva. Te iba a consultar unas cosillas, a ver si me puedes ayudar:

1. ¿Es posible deshabilitar de alguna manera, la opción de eliminar pestañas de forma manual? Así me aseguro de que únicamente las eliminen desde el control numérico y que todo cuadre correctamente. 

2. Para simplificar lo que comentas respecto al nombre de las plantillas, ¿en el código se podría poner una serie de variables, en la que cada una de las variables fuera el nombre de una plantilla? Es decir, si yo tengo una serie de variables donde diga nombre x = plantilla 1; nombre y = plantilla 2, etc. (yo completaré el nombre x, nombre y, etc.). En el código hará referencia al nombre que ponga en esa variable como plantilla 1. Así únicamente tengo que completar los 24 nombres de las plantillas donde me digas y evitamos incidencias por algún olvido a la hora de cambiar el nombre. 

3. ¿Es posible hacer que en la pestaña "Información General Proyecto" en la celda B2 se sumen todas las horas de implantación de cada plantilla (añadiría una fila en esta pestaña para incluir esta información y quitarla de donde está ahora)? Es decir, en esta casilla aparecerán las horas de implantación totales del proyecto y en cada plantilla incluiremos también en la celda B2, las horas totales de implantación de ese servicio (en función de la información que se complete en la plantilla, se autocompletará ese número de horas de implantación de forma automática). En todas las plantillas este valor estará en la celda B2 (añadiré una fila en cada plantilla para incluir esta información y la quitaré de donde aparece ahora).

La idea es que al crear o eliminar las plantillas (con el control numérico) este dato de la pestaña "Información General Proyecto" se vaya actualizando con la suma de las plantillas creadas y con algún valor en la celda B2. Si elimino una plantilla se restarán esas horas de la pestaña "Información General Proyecto" (si es que tenía horas completadas).

4. Te quería consultar, si este código lo tienes para usarlo en google sheet. Lo estoy trabajando en Excel porque hay más soluciones y apoyo, pero en mi empresa tenemos licencia de google y en las áreas usan google sheet y drive para el trabajo diario. La idea es trabajarlo en Excel y después ver cómo convertirlo a google sheet. 

Muchísimas gracias por tu apoyo. Lo estoy viendo con mis compañeros y les está gustando mucho. 

Un saludo,

Enlace a comentario
Compartir con otras webs

Buenos días @tese1969

Tan solo comentarte, que los botones que están arriba (encima de las tablas) no los uso para nada, puedes eliminarlos sin problemas. Yo todo lo que pruebo y manejo es lo nuevo que has ido desarrollando, así que el resto puedes eliminarlo sin problemas.

Respecto a lo de ocultar la eliminación de pestañas de forma manual, igual sería bueno también que no puedan mostrar las pestañas ocultas, ni editar nombres de pestaña. Igual es más sencillo deshabilitar, de alguna manera, todo el menú que aparece cuando clicas sobre una pestaña con el botón derecho del ratón y así evitar que toquen nada de forma manual.

Cualquier duda me avisas.

Muchísimas gracias por tu apoyo.

Un saludo

Enlace a comentario
Compartir con otras webs

Buenas, María

He encontrado una manera no demasiado "elegante" para que no se puedan eliminar manualmente las pestañas que se crean con el control númerico. De hecho, la única pestaña que queda sin bloquear es la de "Proyectos Estándares", porque podría dar problemas a la hora de ejecutar el resto del código en algunas ocasiones.

Sólo he incluido las modificaciones en los controles referentes a la plantilla 1. Pruébalo, yo creo que debería ser más que suficiente para evitar el borrado manual, teniendo en cuenta que tenemos forma de hacerlo desde la pestaña principal. La protección incluida no cuenta con contraseña, por lo que si fueran al menú de "Revisar" podrían dar click en "Proteger Libro" y la protección se deshabilitaría. Entiendo que a un usuario que no quiera hacer el "capullo" no se le va a ocurrir todo esto, pero por lo menos que lo sepas.

No he entendido muy bien a qué te referías cuando hablabas de asociar variables a los nombres de las plantillas. En el fondo vas a tener que indicarle de alguna manera dónde tiene que coger el nombre, ya sea directamente en el código, en alguna casilla, etc.... Lo más sencillo creo que sería que el nombre real lo incluyeras en las casillas al lado de los botones (D5 para la plantilla 1). El problema es que esto nunca te va a asegurar que la plantilla real se llame así y piensa que la diferencia de Mayúsculas, minúsculas, espacios, etc....es fundamental para localizar la pestaña. Una opción es incluir primero los 24 nombres reales en las casillas a la izquierda de los botones y después ir incluyendo ese nombre (copiar el texto) en el nombre de la pestaña. Por ejemplo, si la plantilla con ID= 1 es "Redes externas", ese mismo texto deberías usarlo para modificar el nombre de la plantilla 1 actual. Así en el código puedes hacer referencia a la celda "D5" como nombre de la plantilla a copiar.

Mira a ver que procedimiento te parece más acertado pues piensa que si algún día modificaras el nombre de alguna en la pestaña principal tienes que hacerlo también en la pestaña correspondiente oculta.

Si la cosa va quedando más o menos clara, y dado que los moderadores van a comenzar a pensar que esto se trata de algo más que una mera consulta...jejejeje...pasaríamos a la fase de intentar decirte qué modificar e incluir para que funcionaran los 24 grupos de botones.

Un saludo,

Tese

Proyectos Estándares_v4.zip

Enlace a comentario
Compartir con otras webs

Buenas noches @tese1969

Está genial lo que has hecho para evitar eliminar las pestañas de forma manual. La pestaña general, no me importa, ya que si eliminan esa, el documento no será válido y tendrán que descargarlo de nuevo. 

Respecto a los nombres de las plantillas, me parece muy bien lo que indicas y descuida que yo me encargaré de asegurarme de que el nombre que pongamos en la Pestaña General (celda D5 para la plantilla 1) coincida exactamente con el nombre de las plantillas de cada pestaña. Lo único que quería avisarte, es que es posible que necesitemos alguna plantilla adicional en un futuro, para saber cómo debería diseñarlo para añadirlo en la pestaña general y en el resto de lugares que deba hacer cambios. Así mismo, es posible que en alguno de los 4 grupos que creé (con 6 plantillas cada uno), haya menos plantillas o más. 

El punto 3 que te envié en el anterior comentario, entiendo que es mejor crear una consulta nueva para resolverlo. Lo añadí, por si era algo sencillo, ya que es lo único que me faltaría para tener el formato definitivo del archivo. 

Quedo atento a tus indicaciones para saber qué debo modificar e incluir para que funcionen los 24 grupos de botones, o si hiciera falta algún botón nuevo. 

Muchísimas gracias por todo tu apoyo, ha quedado maravilloso.

Un saludo

Enlace a comentario
Compartir con otras webs

Buenos días @tese1969

Estaba ahora haciendo nuevas pruebas sobre la última versión 4 y he encontrado una Incidencia al clicar en el check box de la plantilla 2 me aparece un error 1004. La plantilla 1 funciona perfectamente, sin ninguna incidencia.

Adjunto pantallazos con el error. 

Muchas gracias por el apoyo.

Un saludo,

Error 1.png

Error 2.png

Enlace a comentario
Compartir con otras webs

En 13/12/2022 at 19:49 , tese1969 dijo:

Sólo he incluido las modificaciones en los controles referentes a la plantilla 1. Pruébalo, yo creo que debería ser más que suficiente para evitar el borrado manual, teniendo en cuenta que tenemos forma de hacerlo desde la pestaña principal. La protección incluida no cuenta con contraseña, por lo que si fueran al menú de "Revisar" podrían dar click en "Proteger Libro" y la protección se deshabilitaría. Entiendo que a un usuario que no quiera hacer el "capullo" no se le va a ocurrir todo esto, pero por lo menos que lo sepas.

Si lees mi mensaje anterior entenderás por qué te sucedía eso.....jejeje

Dame un poco de tiempo @mariasanz, y a ver si el fin de semana puedo publicar lo que sería una guía para que tú pudieras saber qué cambiar ó incluir en el código para que todo quedara funcional.

Por cierto, llevo dirigiéndome a ti como María y por algunos adjetivos que has escrito me da que tu nombre real debe ser de género masculino. Intentaré utilizar únicamente tu nick....jejeje

Un saludo,

Tese

Enlace a comentario
Compartir con otras webs

Buenas noches @tese1969

Ok perfecto, pensé que únicamente lo nuevo de eliminar, estaba solo en la pestaña 1 y que el resto funcionaba igual. Me queda claro, y me alegra que no sea incidencia.

Muchísimas gracias por la guía, me va a ayudar mucho.

Disculpa, es que estoy usando la cuenta de mi novia, aprovechando que ya tenía una creada. Yo me llamo Haritz, un placer trabajar contigo.

Para abrir una nueva consulta con lo q te comenté de consolidar en una casilla la suma de todas las celdas B2 de cada pestaña nueva q se cree. Para hacer esto tienen que conocer tu código? o bien puedo plantear la consulta como algo nuevo y no necesitan saber nada del código ya creado? Por hacerme una idea de cómo abordarlo.

Muchisimas gracias por todo el apoyo.

Un saludo

Enlace a comentario
Compartir con otras webs

Buenas, Haritz

Te explico un poco cómo está estructurado el código sin entrar todavía en la "guía" que te comenté.

Todo el código del funcionamiento de los botones está incluido en la pestaña General.

Si tú grabas el archivo teniendo activa por ejemplo, "plantilla 1_4", lo cierras y lo vuelves a abrir, el archivo va a abrirse directamente en la pestaña General. Esto ocurre porque he incluido un par de "eventos" relacionados con el objeto "Workbook", que es como se llama a un Libro de Excel en código VBA. Si tú abres con Alt+F11 el editor de VBA verás que a la izquierda te aparece el listado de las Hojas y al final del todo verás una línea que dice "ThisWorkbook". Ahí es donde está incluido el código. Uno de ellos es el evento _Open y se utiliza para decirle al sistema qué tiene que hacer en el momento de abrir el archivo. En este caso le indico que active la pestaña General. Después utilizo el evento _SheetActivate para indicarle qué debe hacer cada vez que se active (seleccione) una hoja o pestaña. En este caso le he indicado que salvo que sea la pestaña General en cualquier otro caso proteja el libro. De ahí que no se puedan eliminar manualmente, pero el código no está en ninguna de las hojas. Por eso te fallaba usar la plantilla 2, porque al intentar crear la copia, el libro estaba protegido, pues había activado la plantilla oculta y desencadenado el evento de activar hoja. La clave está y esa es la parte donde el programador tiene que darle a su cabecita, en hacer que el evento no se dispare aunque se active una hoja que no sea la General. Y eso estaba incluido en los botones de la plantilla 1 pero no en los de la 2.

No sé si todo esto te sonará a "historia de miedo" jejejejeje.....pero te lo cuento para que comiences a comprender que cualquier cambio en los requerimientos puede suponer un trabajo importante.

Mi idea en este momento es incluir algunos pantallazos para guiarte y decirte cuáles serían las modificaciones que deberías hacer para hacer operativos los botones de las otras plantillas.

Y como propina, intentaré incluir el código para que te sume todas las celdas B2, pero sería mejor que tú hicieras las modificaciones pertinentes en las plantillas para que yo pudiera testarlo con la estructura real.

Así que, por favor, simplemente usa mi última versión, e incluye la estructura de la casilla B2 en las plantillas y adjuntas el archivo.

Ya te adelanto que esto va a suponer modificar también el código de los botones salvo que te pudiera valer un botoncito en esa pestaña "Información General Proyecto" y que al pulsarlo se actualizara. De esa manera no tocaría el otro código y se podría ejecutar como código independiente (escoge esta última opción....jejejeje)

En fin, espero tu archivo.

Un saludo, y recuerdos a María ?

Tese

Enlace a comentario
Compartir con otras webs

Buenas noches @tese1969

Muchas gracias por tus explicaciones tan detalladas, la verdad no me entero de todo, pero me hago una idea jeje. 

Respecto a la propina, no sabes lo mucho que te agradezco que me puedas ayudar con esto último, para tener todo completo. Ya estaba sudando, para ver cómo explicar todo esto jjj. 

Te adjunto la última versión de tu archivo, actualizado moviendo el número total de horas del Proyecto (en la pestaña "Información General Proyecto") o bien de cada servicio (para las plantillas) a la celda B3 (he dejado una fila vacía al comienzo por eso es B3, en vez de B2). Esa celda B3 de cada plantilla, tendrá fórmulas para que se calcule de forma automática en función de la información que el cliente rellene. Lo que necesito es que la celda B3 de la pestaña "Información General Proyecto", sume todas las celdas B3 de cada plantilla activa (en función de las plantillas que hayan seleccionado en la primera pestaña de "Proyectos estándares") y si se elimina alguna pestaña, tendrá que restar la celda B3 correspondiente a esa plantilla eliminada.

Respecto a las dos opciones que comentas para implementar la solución, la opción del botón lo que me da miedo, es que el usuario complete la información y saque las horas totales del Proyecto clicando el botón. Pero después, por algún cambio de alcance, se actualice la información de alguna plantilla y se olviden de clicar en el botón y por lo tanto no tengan las horas totales del proyecto actualizadas (las horas del servicio cambiarán, pero las del proyecto tendrán que acordarse siempre de clicar el botón). 

Desde luego la opción del código y que el dato sea automático, es la ideal y más intuitiva para el usuario. Sin embargo, si el código es muy complicado, te agradezco tener al menos el botón y poder  sacar el dato de alguna manera. 

Te adjunto el archivo solicitado. Para reducir el tamaño del archivo (comprimido debe pesar menos de 100 kb) y poder así adjuntarlo por aquí, he tenido que eliminar la información que había en las plantillas, he eliminado también la información de la pestaña "Información General Proyecto" y en la primera pestaña he dejado únicamente el primer cuadro de plantillas y he eliminado los otros tres. No sé si todo esto que he eliminado afectará en algo, ya me dices. Me he vuelto loco tratando de reducir el tamaño y he tenido que ir eliminando cosas, sino te lo puedo enviar por correo. 

Me dices si necesitas cualquier cosa adicional o que modifique lo que sea.

Te agradezco muchísimo tu apoyo. No te imaginas lo mucho que va a ayudarnos el archivo. 

Un saludo,

 

Proyectos Estándares_v5.zip

Enlace a comentario
Compartir con otras webs

Buenas @mariasanz

No entiendo por qué tu fichero pesaba tanto cuando en teoría tendría que pesar lo mismo que el que yo te adjunté. Sólo debías incluir la celda B3 en el formato que precises en alguna de las plantillas para probarlo. Usaré mi última versión como base, sabiendo que en la celda B3 de la pestaña de Información General tendrán que aparecer las horas totales de las distintas pestañas.

Por lo que he creido entender de tu comentario son los usuarios quienes darían al botoncito para actualizar las horas totales y no tú cuando lo recibas (lo que sería quizás una opción, si incluyes alguna contraseña o algo así).

El problema que plantea la actualización que tú prefieres es que debería ejecutarse cada vez que en alguna de las pestañas se va actualizando la fórmula de las horas totales en B3 pero también cuando se elimina una pestaña, lo que implica diferentes eventos e incluir código en varios sitios. Si usamos el botón el código sólo se ejecuta cuando necesites el dato y es una ejecución independiente.

Intentaré primeramente lo del botón para ver si te valdría o no, una vez que lo uses.

@SergioHe notado que hay usuarios que pueden subir archivos de más de 100 Kb. Imagino que serán diferentes configuraciones de usuario y permisos. No sé si quizás podrías aumentar un poquito mis "capacidades". ?

Un saludo,

Tese

Enlace a comentario
Compartir con otras webs

Buenas noches @tese1969

No había casi diferencia de tamaño entre tu archivo y el mío. Tu archivo pesaba 95,6 kb y al introducir las celdas B3 en las 24 plantillas y comprimirlo de nuevo, me pesaba 108 kb. Con lo que me has puesto, he cogido de nuevo tu última versión y he añadido las celdas B3, únicamente en la pestaña "Información General Proyecto" y en las plantillas 1 y2. Esta vez sí me permite adjuntarlo.

Estas horas totales del proyecto serán las que se facturen al cliente, y el área que completa la información es quien necesita saber ese número de horas totales, para diseñar la oferta comercial. Después , cuando el cliente firma la oferta comercial, me llega a mí el archivo con la información completada (información y horas totales del proyecto) y yo realizo la implementación del proyecto, tratando de ajustarme a esas horas totales del proyecto.

Tal y como indicas, será otra área de mi empresa, quien daría al botoncito (la misma área que debe rellenar la información de las plantillas) y no sería yo ni mis compañeros de área (a nosotros nos llegaría el archivo con las plantillas rellenadas y con las horas totales ya definitivas). 

Entiendo lo que indicas, respecto a la actualización automática de la celda B3 de la pestaña "Información General Proyecto". Necesitaría actualizarse el valor, cuando cambian las horas totales en B3, de alguna de las plantillas, así como cuando se elimina o bien añade una nueva plantilla. 

Respecto al botón, el único problema que veo, es que se olviden de clicar el botón con alguna actualización que hagan y tomen un total de horas que no sea el correcto (esto será lo que se cobre al cliente por el proyecto y el archivo a mí me llega después de haber firmado la oferta comercial). Por eso, es tan importante que este dato sea el correcto, sin lugar a posibles errores. 

Pero si es muy complicado, con todo lo que me has ayudado, no puedo pedir nada. Te agradezco muchísimo todo lo que estás haciendo.

Muchísimas gracias por tu apoyo.

Un saludo,

Proyectos Estándares_v5_2.zip

Enlace a comentario
Compartir con otras webs

Buenas, @mariasanz

Esto está ya casi finiquitado.

Te adjunto una versión más avanzada del archivo, con su botoncito de horas totales y todo. Para probarlo, crea algunas copias de la plantilla 1 y 2 (las únicas operativas en código), incluyes números en las casillas B3, te vas a la pestaña del proyecto y pulsas en el botón que he creado al lado de la casilla.

Te adjunto también la guía para que incluyas y modifiques el código de los controles para las otras plantillas.

Es sencillo aunque al verlo te pueda parecer más complicado. Se trata únicamente de modificar algunos números y rangos de celda.

Espero que te sirva para ir haciéndolo poco a poco.

Ya me contarás....

Un saludo,

Tese

Proyectos Estándares_v5.rar GUÍA PARA MODIFICAR CÓDIGO BOTONES.pdf

Enlace a comentario
Compartir con otras webs

Buenos días @tese1969

Qué gran trabajo¡ Acabo de hacer pruebas y funciona genial. El manual de guía está muy claro y por el momento, no tengo ninguna duda. He creado una plantilla nueva con nombre nuevo y me funciona perfecto todo. 

El botón de horas me suma todo lo que incluyo en las celdas B3, así que también funciona perfecto. Intentaré reforzar para que cliquen siempre el botón, al ver las horas totales y espero que sean cuidadosos. Como esto es lo que se cobrará al cliente, es un dato delicado. 

Muchísimas gracias por todo tu apoyo. 

Un saludo,

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 97 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Buenas a todos, trato de transponer o pivotar el archivo que adjunto. El archivo tiene 3 columnas ( en este caso, como pueden ser más 😞 Cód.artículo, Cód.características y Valor. El objetivo es dejar como primera columna el Cód.artículo y como fila de encabezado Cód.características, y luego cruzando datos con Valor. No sé si me he explicado bien Gracias de antemano. Libro1.xlsx
    • Hola que tal amigos programadores por favor me podrían ayudar con una macro que me genere un archivo CSV delimitado por comas, la estructura del archivo CSV no deberá llevar encabezado, los datos del archivo CSV serán obtenidos de la hoja “Datos”. En la columna A: deberá tener la clave clues que se toma de la columna B de la hoja Datos En la Columna B: el Código (son 230 codigos que van del rango G1:IB1 de la hoja datos) En la Columna C: el valor almacenado a su correspondiente al código y clues En la Columna D: el número del mes que se obtendrá de la de la columna E de la hoja Datos En la Columna E: el año que se tomará de la columna F de la hoja de Datos   Son 230 códigos por lo que la macro generará 230 filas por cada clave clues que tenga la hoja Datos En el archivo anexo una hoja llamada CSV para que vean la estructura que tendrá, el archivo CSV estará delimitado por comas   Les agradecería mucho que me ayuden por favor, Dios los bendiga Exportar datos a csv.xlsx
    • Hola buenas tardes.   Debido al trabajo debo estar comparando en un periodo unos archivos dentro de una carpeta o subcarpeta. en base a la fecha de creacion o modificacion.  pero tengo que estar viendo carpeta por carpeta y aveces son varios. Con una macro intente  listar los archivos de cualquier carpeta y subcarpeta, esto activandolo segun la celdaactiva. El problema es que tiene algunos errores. 1. si la carpeta cuenta con subcarpetas me los manda a muchas filas abajo. Mi idea es hoja(Así debe quedar) Que con una macro pueda seleccionar la carpeta desde el buscador y me de la lista de archivos a partir de la fila 6. siendo columna A= fecha de modificación, columna B =Fecha de creación y columna C=Nombre del archivo con hiperlink. Con otro o con la misma macro poder seleccionar otra carpeta y sus subcarpetas, según sea el caso. y me liste a partir de la columna F de la fila 6 Siendo La columna F=Nombre del archivo, columna H=fecha de creación, columna I=ultima modificación   Para así poder acceder y comparar mis archivos, directamente desde excel.   Muchas gracias Mariano       Listar archivos de 2 carpetas para comparar.xlsm
    • Hola buenas, Os presento mis dudas. Tengo un libro  (llamémosle LibroDestino) con dos módulos, uno de definición de variables "ModDef" y otro de inicializacion de esas mismas variables "ModCfg". Necesito que al copiarme una hoja de otro libro(llamémosle LibroOrigen), mediante un procedimiento, sobrescribir el modulo de inicialización de variables del LibroDestino con el  contenido del módulo que hay en el LibroOrigen. Destacar que los dos módulos de cada libro tienen el mismo nombre "ModCfg". Y tienen una única variable llamada "Mensaje". En el LibroDestino tiene el valor "Hola" y en el LibroOrigen el valor "Adiós" Este procedimiento lo realiza perfectamente,  es decir se sobrescribe, pero si en el mismo procedimiento quiero utilizar el nuevo valor de esa variable, me conserva el valor de la variable anterior. Para hacer las comprobaciones he ejecutado un MsgBox al empezar y al acabar el procedimiento, pero en los dos casos me devuelve el valor original del LibroDestino el valor "Hola", cuando mi idea es que al sobrescribir el modulo con el nuevo valor de la variable, el último MsgBox me devuelva el valor "Adios". Mi objetivo es poder tener la inicialización de esas variables en un libro que no sea el de trabajo (LibroDestino), ya que según la hoja que importe puedo requerir que las variables tengan un valor u otro. ¿Por que no me coge en el procedimiento el nuevo valor de la variable? ¿Cómo podría conseguirlo? He tenido que activar en VBA  la referencia Microsoft visual basic for applications extensibility 5.3 desde  Herramientas -> Referencias. Creo que es la única manera de poder trabajar con los módulos desde VBA, aunque si se pudiera de otra manera creo que sería mas óptimo. Mil gracias de antemano, un saludo!         Libro1_Prueba.xlsm Libro2_Prueba.xlsm
    • Agradecido Antoni! Tus sugerencias me ayudaron mucho! Como pudiese hacerte llegar el archivo?
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.