¿Cómo dar entrada en un cuadro de lista de validación de datos y que me prediga los posibles resultados?

Tengo una base de datos de funcionarios, y tengo 2 hojas

La hoja1 se llama "Catastro", aquí yo relleno en columnas los nombres y apellidos, dni, dirección, etc (seria mi base de datos)

La hoja2 se llama "Registros", aquí yo voy a registrar todos sus pagos mensuales, que pasa en la columna b5 de la hoja2, para evitar equivocarme con los datos de mis funcionarios, ya que realizo tablas dinámicas para ver sus sueldos, tengo 1200 funcionarios, y con validación de datos lista, resulta muy tedioso buscarlo usando la barra de desplazamiento del mouse, como en la columna B5, b6, b7, b8, b1000 ingresare diariamente mis movimientos por funcionario, quisiera saber la forma de que al tipear por ejemplo "acosta", me traiga todos con apellido "Acosta" o simplemente su nombre "Juan", y yo al darle doble click me lleve a la celda b5, luego ingreso otro y me lleve a la celda b6, luego b7 y así sucesivamente, hay alguna forma de hacerlo, y si me equivoco que me salga un mensaje de que el funcionario no esta catastrado y no me permita continuar, desde ya les agradezco, adjunto una imagen

1 Respuesta

Respuesta
1

Lo que pides por listas de validación no se puede, de hecho ya te pase una macro para hacerlo, como te comente en ese post simplemente tecleas cualquier parte del nombre y en automático te muestra todos los nombres y apellidos que contiene esa parte, te paso un ejemplo para que lo modifiques a tu gusto cabe aclarar que mis datos comienzan en A1, así que tendrás que cambiar todas las referencias por la celda donde comiencen tus datos, la macro una vez que seleccionas un nombre del listbox en automático lo pasa a la hoja2 después de la ultima celda con datos.

 https://1drv.ms/x/s!Aqt18sdMf2xXkDYFaN97fQPjwSQA?e=wPSqA0 

Hola James, la hoja que ves en la imagen es mi hoja de "registro" donde quiero que vaya desde la fila b5 rellenandose automaticamente hasta la celda b65000, pero configure mi listbox1 que estire de la hoja "catastro" pero me genera error, no se en que parte configure mal los vinculos, y en el listbox solo quiero ver el numero de cedula y el nombre y apellidos que esta vinculada a la hoja de catastro, inserte un boton, cree el formulario, pero no pude lograr que funcione =(

Me podrias pasar tu direccion de correo asi te paso mi archivo de muestra por favor

Súbelo aquí como lo hiciste la ves pasada

https://mega.nz/#!VNo3kAaA!Khe0gny_upaNTnGtvwNEWvYSCSuwxZ7yKpe1SsIg8TM Te paso mi archivo, Aprovechando James, se puede a parte de seleccionarlo con doble click, tambien agregar la opcion de capturar el funcionario deseado con la tecla F3, 

saludos 

Es muy complicado usar las teclas F dentro de los formularios para empezar el ASCII asignado es muy diferente y el VBA no los reconoce así que como alternativa le asigne la letra M para abrir el formulario esta funcionara una vez que elijas un nombre del formulario y oprimas dicha letra, aquí esta tu archivo con la macro tiene 3 alternativas de captura la letra M, doble click y un botón de comando, la menos eficiente es la opción de la letra M puede originar que el usuario la presione y abra sin querer el formulario de captura

 https://1drv.ms/x/s!Aqt18sdMf2xXkDcZGPa5yl9dyxdY?e=PXYK1g 

Buenas tardes James, no me abre =( me genera el siguiente error, y los formularios están invisibles =(... quise ejecutar en la hoja "Movimiento por meta" y no encontré el botón y luego entre en el modulo y le di ejecutar y me genero el error 381, si me podrías ayudar

Ya lo probé y mira esta este es el resultado

el segundo formulario solo funcionara si es llamado desde tu formulario, así que tienes que abrir tu formulario hacer el filtro de funcionarios, seleccionar uno y luego abrir el formulario con la letra M mayúscula o con doble click o bien con el botón command que esta en el formulario, si abres el segundo formulario este te mostrara error por la simple razón que usa información de tu formulario, ya que llenes el segundo formulario das click en capturar y este te enviara la informacion a la hoja movimientos como se muestra en la imagen

Entiendo James, una ultima consulta, habría posibilidades que tenga el mismo formulario en la hoja de "Movimientos por Metas"con el mismo criterio de búsqueda tal cual lo diseñaste, y dejar el de hoja de "consulta" tal cual como estaba antes con ese cierro mi solicitud por favor, porque veo que se piso el formulario de la hoja de consulta, te explico en la hoja "consulta" yo consulto los movimientos por funcionario de meta alcanzada, donde yo le daba doble click y ya capturaba, pero me encantaría que el formulario que creaste este en la hoja de "movimiento por meta" y lo invoque con el botoncito "Registrar movimientos", ya que la hoja consulta solo es para consultar los movimientos, desde ya te agradezco por tu tiempo, ahh y otra sugerencia, podrías bloquear el ingreso de texto en el campo de "Monto", que solo sea obligatorio numérico, y así como trae el numero de cedula automático, sera que puede traer su meta asignada que esta en la columna L de la hoja de catastro, desde ya te agradezco

Buenas tardes James, favor si me podrías ayudar con mi pedido te voy a agradecer respecto a que quisiera llamarlo con el botón "REGISTRAR MOVIMIENTO", pero que el formulario de la hoja "consulta" quede intacta, o sea que sean independientes, esta genial tu creación solo que no se como invocarlo en la hoja "Movimiento por meta" y que vaya rellenándolo en la hoja "movimiento por meta" y también no permitir ingresar texto en el textbox de monto, que solo sea numérico y una vez que le di clic en el botón "capturar" que el formulario desaparezca y se quede en el formulario que tiene el listbox

Saludos

1era en la hoja movimiento por meta creas un botón activex, ya creado das click sobre el botón izquierdo del ratón, seleccionas ver código y pegas este código, con eso llamas el formulario desde esa hoja

Private Sub CommandButton1_Click()
BUSCARFUNCIONARIOS.Show
End Sub

2o en el formulario de captura pega este codigo, con ese codigo trae el monto de la persona de la tabla catastro y al mismo tiempo bloquea el textbox, respecto a lo de la hoja consulta no lo entiendo, ya que este formulario no interactua con esa hoja, por cierto mi tiempo es limitado por actividades que tengo como catedratico por las actividades que voy a tener las proximas 2 semanas probablemente no voy a poder a entrar a este sitio

Private Sub TextBox1_Change()
Set tabla = Range("tablacatastro")
nombre = TextBox1.Text
fila = WorksheetFunction.Match(Val(nombre), tabla.Columns(2), 0)
monto = tabla.Cells(fila, 12)
with TextBox5
 .Text = monto
.locked=true
end with
set tabla=nothing
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas