Autocompletar

Trabajo con Excel y creo que es el 2003-2007.
Mi duda es: tengo 6 columnas con datos de personas (nombre, fecha de nacimiento, DNI, dirección, localidad y provincia).
Por el momento llevo ya una lista de 600 y muchas se repiten, digamos que el 30 por ciento.
¿Cómo hago para habilitar una opción de autocompletar que afecte directamente a esas 6 columnas?. Que ponga mengano y al estar repetido que, automáticamante me salgan ya rellenadas las 5 columnas restantes.
Tengo habilitada la opción de autocompletar por defecto pero no es muy preciso ya que nombres que introduje hace varios días no me los autocompleta sin embargo los de hace 10 minutos si.
En fin ¿Se puede hacer algo?

8 Respuestas

Respuesta
1
Hace poco le indiqué a otra persona una URL donde viene explicada una macro para autocompletar a partir de una lista dada. Está aquí.
vbaexpress.com/kb/getarticle.php?kb_id=244
En tu caso dado que quieres campos adicionales una vez la función explicada en el artículo encuentra la celda correspondiente al nombre pongamos por caso, completa el resto de los campos de la misma fila.
No obstante, si me lo permites, y por la información que ofreces, me parece que hay algún error en el diseño de tu tabla o no te entendí bien. No necesitas tener registros repetidos ¿o te refieres sólo a nombres pero no a DNI? Siempre que haya repetidos (solo nombres o el campo que uses como referencia) el programa no sabrá a cual te refieres. Una posible opción que te puedes construir sobre la función anterior es que cargue el siguiente campo que uses con las posibles opciones en una lista de validación.
Por ejemplo.
Imaginate que has puesto "Fern" en el campo nombre y luego siempre (esto es importante) introduces el DNI. Puedes modificar la macro para que si encuentra dos coincidencias con "Fern" que corresponden a:
Fernando Gómez DNI 12345678
Fernando Pérez DNI 87654321
Cargue el DNI con las dos posibilidades y una vez que elijas DNI cargue el nombre y el resto de los datos, porque ya el registro es único.
Por cierto, la página está en inglés, si tienes dudas dímelo y vemos qué hacer.
Hola,
Gracias por tu interés.
A ver como lo explico. Tengo:
Columna A (nombre)
Columna B (fecha nacimiento)
Columna C (DNI)
Columna DE (dirección)
Columna E (localidad)
columna F (pais)
Esto es una compra venta de oro. Ahora la policía nos obliga a mandarle una tabla de excel semanalmente con todas las operaciones. Antes era por escrito.
Digamos que llevamos 3 meses trabajando así.
El resto de las columnas no se repiten porque siempre cambian (importe, objetos y peso).
Cada vez que una persona vende un objeto tengo que rellenar todas las columnas. El caso es que hay mucha gente que repite, porque desempeña y vuelve. Pero cada operación tiene un número que es único. El sujeto mengano puede hacer una operación tres veces en tres meses distintos y tendrá el 120, el 210 y el 480 por ejemplo.
En la casilla de la columna localidad casi siempre se me autocompleta sola porque se repite mucho pero es la única. Debería pasar también con los nombres que se repiten y casi nunca ocurre.
Hay veces que viene la misma persona tres veces en una semana.
No si hay alguna fórmula u opción en la que yo empezando a escribir un nombre se me autocomplete esa celda y por defecto las otras que he mencionado. Digamos de la A a la F o al menos solo la A. No sé
No puedo hacer ningún cambio de formato, al menos en apariencia porque nos lo han impuesto así.
No se si me he explicado bien.
Un saludo
Ahora no puedo pararme mucho, preo creo que sí se puede mejorar mucho el diseño. Te explico brevemente como sería lo más correcto.
En una hoja tienes las columnas A a la F como indicas. En esa misma hoja añades, a mi me gusta al principio, pero puede ser en otro lado, una columna identificador (podría usarse el DNI pero por facilidad prefiero lo otro).
En otra hoja del mismo libro tienes las operaciones. Podría ser algo como:
A ID (el identificador de la persona que hizo la transacción)
B importe
C objetos
DE peso
E fecha
Y los campos que varían con cada operación.
Luego te creas los formularios para gestionar tanto personas como operaciones. Así te ahorras, tener que repetir datos. Puedes también generar el informe para la policía o para impresión repitiendo los datos como mejor te venga.
Dime si entiendes y compartes la idea y seguimos avanzando.
Respuesta
1
Yo tengo una solución pero es un poco tediosa y larga de explicar a lo mejor te puede servir pero para eso no se si tienes inconveniente en que me mandes el archivo y los vemos sobre eso. Ya que si es demasiado sencillo pero demasiado largo mi correo es [email protected] me pones en el asunto pregunta de excel y con gusto te puedo atender
Respuesta
1
Podríamos realizar una fórmula con una macro y que te lo pegue al final, pero necesitaría que me expliques como esta organizada bien la planilla, es decir que columnas tienes los datos, sin esa misma hoja se puede ubicar la fórmula esas cosas, o si prefieres te paso el email y me madas la planilla así la veo y te la reenvío con la solución, pero avisame
Respuesta
1
Podrías colocar una función buscarv hacia arriba de tu listado, y con eso ya tendrías.
Pero tendrías que hacerlo hacia arriba, porque si no te daría una referencia circular, por ejemplo en la celda B4, pondrías la siguiente fórmula que la podrías copiar hacia abajo
=SI.ERROR(BUSCARV($B4;$B$1:$E3;2;0);"")
Para las demás columnas también la podrías copiar pero tendrías que cambiar el indicador de columna de 2 a 3 a 4 y a la columna que quieras.
Sobre el autocompletar, lo que podrías hacer es que después de haber escrito las primeras letras presiones alt + la flecha direccional para abajo y te saldrá un listado de las próximas coincidencias.
Respuesta
1
La función Autocompletar sólo busca coincidencias en la columna actual. Si lo que quieres es que te rellene la información relativa al resto de columnas deberías pensar en crear una pequeña macro que haga este trabajo.
La macro debería buscar en la columna DNI (porque este dato es único e irrepetible para cada registro) y si lo encuentra, capturar los datos de las columnas adyacentes y pegarlos en una nueva línea.
Busca en Internet macros para Excel; seguro que encuentras algo parecido a lo que necesitas. Si no tienes éxito, vuelve a preguntarme y buscaremos una solución.
Hola,
Digamos que por ahora solo me interesa que se autocompleten las columnas por separado. En la de nombres no se acuerda de registros introduciodos hace meses.
Hay personas con apellido únicos que deberían autocompletarse y no ocurre.
Me parece un poco caprichoso el programa aunque seguro que hay alguna razón.
Gracias
Creo que existe limitación en cuanto al número de entradas memorizadas. Comprueba si los nombres que no se autocompletan corresponden con los que se introdujeron en primer lugar (es decir, los más antiguos)
Respuesta
1
¿Ya probaste con clic derecho en la celda y la opción Elegir de la lista desplegable?
Hola,
Si pero no me sale la coincidencia. Por ejemplo, escribo Torrijos y hago lo que me dices y me salen otros nombres y no el resto de este que está repetido como 25 veces.
Gracias
Bueno y si utilizas en un buscarv en las columnas que quieres rellenar y como valor buscado utilizas el nombre...
Respuesta
1
Disculpa la demora en la respuesta, pero me encontraba de vacaciones.
Bueno respecto a tu pregunta, me parece que no existe una manera de ampliar el comportamiento del modo autocompletar, más lo que se me ocurre es que si necesitas realmente que siempre se completen los datos, podrías crear un macro que se ejecute al cambiar cualquier valor de una celda, que realice lo siguiente:
Cuando detecte un cambio en el valor de una celda, busque el valor de la celda en las celdas superiores correspondientes a la misma columna, esto se logra de la siguiente manera Ejemplo para la fila 7:
Private Sub Worksheet_Change(ByVal Target As Range)
    Range("B7").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],R[-5]C[-1]:R[-1]C[3],2,FALSE)"
    Range("B7").Select    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],R[-5]C[-1]:R[-1]C[3],2,FALSE)"
End Sub
Si te queda alguna duda.
Respuesta
1
Para que al poner una palabra o un código te salgan las cinco restantes puedes utilizar la función buscarv.
Para ello debes tener una tabla aparte ( por ej. en otra hoja) con los datos de esas personas que vas a usar luego.
En la primera columna puedes poner el DNI que es único y los demás datos en las demás.
Y luego, en la hoja que vayas a utilizar los datos, insertar la función buscar. V y así, al poner el DNI, te aparecerá automáticamente los datos de esa persona en las demás columnas.
No se si habrás utilizado esta función antes o si es exactamente lo que quieres.
Si tienes dudas acerca de cómo utilizarla, dímelo e intento explicártelo, es sencilla y muy útil

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas