Saltar al contenido

Autocompletar campos según otra tabla y automatización de procesos.


Aeder Est

Recommended Posts

publicado

Hola a tod@s!

A ver si me podéis ayudar. Hay unas cositas que quiero hacer y no se si son posibles o no, así que acudo a los sabios para saber si es posible o me estoy flipando.

PARTE 1

Por un lado, me gustaría saber si es posible autocompletar unos datos en una tabla en base a la selección de un elemento en una lista desplegable el cual tiene asignados diferentes valores en otra tabla.

A ver si me explico, supongamos que tengo una base de datos con la información básica de mis amiguetes.  ID (V), Nombre (W),  Apellidos (X), Edad (Y), y Ciudad(Z).

Y por otro lado tengo otra hoja donde quiero aplicar la información de uno de estos amigos en otro contexto mediante un desplegable.

En esta otra hoja, selecciono el desplegable y me sale el nombre de todos mis amiguetes, y al seleccionar uno de ellos,  me añade la información de este amigo donde yo quiero.

Por ejemplo, tengo este texto. 

"W, X es mi amigo nº V. Tiene Y años y vive en Z. 

Quiero que al seleccionarlo en el desplegable me rellene los campos. ¿Es posible? ¿Quizá con Buscarv?

 

PARTE 2

Quiero hacer una tabla mensual. Cada mes varían los días 29, 30, 31. ¿Hay alguna manera de programar para que me oculte X filas en función del mes? De modo de tener una sola tabla con un desplegable del mes, y que al seleccionar el mes en cuestión me aparezcan tantas filas como días tiene.

 

PARTE 3

He visto por Youtube que añadiendo una forma con el macro de imprimir, imprimía al hacer click sobre la forma o botón.

Esta es la pregunta más fumada, ¿sería posible realizar un botón similar, pero que realizara una función en bucle imprimiendo cada vez con los datos de un amigo diferente?

Un bucle estilo imprimir ID +1 y cada vez que imprime que autocomplete con los datos de los diferentes amigos.

 

Al final lo que quiero hacer es una combinación de estas tres partes. Una tabla mensual que automáticamente me incluya tantas filas como días tenga al seleccionar el mes en el desplegable, otro desplegable donde poder seleccionar la persona con la que quiero autorellenar la tabla, y un botón que me imprima automaticamente esa misma tabla pero con los datos de cada una de las personas.

 

Espero haberme explicado bien.  Espero me podáis ayudar o al menos aclarar si es posible.

 

Muchas gracias ?

 

 

publicado

Sin un archivo que nos ilumine, no puedo ofrecerte otra solución mejor:

PARTE 1:

  • Con BUSCARV puedes buscar el primer campo de la tabla y devolver el número de columna que desees. Esto puedes hacerlo en cualquier hoja donde lo necesites.

PARTE 2:

  • Yo lo haría con una fórmula que devuelva un calendario completo del mes. Por ejemplo, la siguiente:
=SECUENCIA(6;7;"01/01/2022"-ELEGIR(DIASEM("01/01/2022");0;1;2;3;4;5;6))

             Esa fórmula crea una matriz de calendario a partir de la fecha que le indiques. Sustituye la fecha por la referencia de la celda donde se encuentre tu fecha.

PARTE 3:

  • Es posible con una macro. Pero para crear una macro se hace necesario conocer cómo están dispuestos los datos.

Si deseas algo más de detalle tendrás que proporcionarnos el archivo con el que has comenzado a trabajar. Si el archivo contiene información confidencial, sustituye los datos por otros ficticios.

Un saludo,

publicado

Muchas gracias por tu rápida respuesta!! Estaba deseando encontrar un foro de Excel activo. Tengo muchas dudas y ganas de crear.

Te adjunto Excel de ejemplo y te comento. 

La PARTE 1 solucionada con BUSCARV

LA PARTE 2 la veo complicada de hacer para lo que viene a ser este documento. Si conseguimos la 1 y 3 ya será espectacular! En este caso, con añadir o eliminar las filas cada mes manualmente será suficiente, pero si ves una manera más sencilla te escucho.

Con este documento ya solo faltaría conseguir el macro para que imprima todas las fichas con un solo click, sustituyendo entre cada impresión el ID +1 hasta llegar a 10. Ahí si que no tengo ni papa.

Libro1.xlsx

publicado

Hola Sergio!

 

Gracias por la ayuda.

Lo he probado pero se descuajeringa cada vez que modifico el mes. Puede ser por la versión de Excel del PC del trabajo, 2007 xD

publicado

Esa es la razón: Excel 2007. En tu perfil indica que trabajabas con 2021, por eso he usado la función SECUENCIA. 

Intentaré encontrar una solución adaptada a Excel 2007.

publicado

Si, yo tengo 2021 pero ahí 2007. En el registro marqué 2021 y 2010 o anterior. Disculpa la confusión y gracias por tu paciencia.

publicado

Hola a ambos,

Revisa tu archivo adjunto en devolución, con una [de tantas soluciones] para obtener el despliegue de días según el mes. La fórmula de B11 te traerá siempre 1 (primer día del mes), y a partir de B12 vamos sumando 1 hasta llegar a 31 (máximo de días que puede tener un mes). El Formato condicional aplicado al rango, oculta los días innecesarios. Atención: están ahí, pero invisibles.

En cuanto a macros, habrá que esperar aportaciones. Yo soy lego en esa materia.

Saludos,

Libro1 (C).xlsx

publicado

Muchas gracias por tu aporte Victor. Ahora ya salí del trabajo y no tengo ordenador cerca para mirarlo pero te digo algo en cuanto pueda.

Respecto a los macros, le he estado dando una vuelta.  Tengo nociones básicas de programación y voy a probar de expresarlo, aunque no sé cuál sería el código para excel.

 

//Primero definiria variables

X como numero Integral, el id de la tabla de empleados que queremos ir imprimiendo

Y como numero integral, el numero total de empleados, donde queremos que termine el bucle y deje de imprimir

//Asignaria un valor inicial a X 

X=1

//Asignaria el valor total de empleados y copias que quiero imprimir, en este caso 10

Y=10

//Seleccionamos la celda que actualizaremos para ir asignandole el valor del ID y asi ir actualizando los datos

Select.C4

//Escribimos el valor de X e imprimimos la primera

write.C4=X

Print

//Ahora comenzamos con el bucle sumando 1 al ID por cada impresión

Do While (X<=Y){

X=X+1

Print 

}

 

Quedaría una cosa así. Perdonad si me invento los terminos, solo intento darle un poco de sentido.

 

X = set.int

Y = set.int

 

X=1

Y=10

 

Select.C4

write.C4=X

Print

 

Do While (X<=Y){

X=X+1

Print 

}

 

Yo creo que algo así funcionaria.

Ahora falta alguien que entienda de macros para escribirlo como dios manda y probarlo jeje

Archivado

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

×
×
  • 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.