Formularios de datos en Excel: Modificar, entrar y eliminar registros
Para Dante Amor. Gracias por tu última aportación sobre los encabezados en el listbox del formulario de búsqueda de datos, lo he probado y funciona correctamente. Pero visto su funcionamiento, he querido ir un poco más allá porque tal y como yo te había pedido me crea ciertos problemas que no había tenido en cuenta. Así solicito tu ayuda para dos cosas relacionadas con este paso:
1.- Como al final el libro será "compartido", se crean problemas con las macros y necesito una solución para esto que creo es mejor implementar antes de seguir para no echar por tierra luego todo el trabajo realizado con el código. He pensado que lo mejor es que estos formularios estén en un libro aparte, un libro que podemos llamarlo ENTRADA_DATOS o como quieras. Aquí estarían todos los formularios que estamos haciendo encaminados a que conjuntamente realicen la entrada, modificación y consulta de los registros, por ejemplo en la HOJA1. Este formulario iría a buscar a los datos del libro donde están (hoja "Registro" del libro "formularios dam.xlsm". ¿Ves posible adaptar el código que llevamos hasta ahora a esto? ¿Cómo te parece que lo haga?. Primero debo actuar en el formulario "consola" y luego en los formularios "Búsqueda" y "Agregar registro". Te dejo el formulario búsqueda por parecer el más difícil y a partir de ahí, con tus explicaciones, intento adaptar el resto.
2.- El código "Dar formato al ListBox y traer los encabezados de la tabla" que me corregiste me permite filtrar por las primeras 4 columnas/campos/encabezados (for i=1 to 4) en el combo y me muestra en el listbox los mismos cuatro campos para que yo elija. Pero necesito que yo pueda colocar en el combo unos campos determinados para filtrar, no los 4 primeros consecutivos, sino por ejemplo "nº expediente" (posición 12 de la primera fila), "Referencia (posición 18), "Fecha de inicio (posición 27)" y alguno más. Igualmente sería ideal que pueda elegir que columnas (o sea datos) que aparezcan en el listbox después de filtrar (las filas con los campos que aparecen para que elija uno de ellos a modificar/eliminar). Yo he probado cambiando:
CmbEncabezado. AddItem h1. Cells(1, i)
por:
CmbEncabezado. AddItem h1. Cells(1, 12) CmbEncabezado. AddItem h1. Cells(1, 18) cmbEncabezado.AddItem h1.Cells(1, 27)
quitando el FOR I=1 to 4 y consigo que el combo me los muestre, pero no me filtra, ni consigo que los campos que muestra en el listbox sean distintos a los que he utilizado para filtrar (ahí quiero que aparezcan unos determinados que no tienen que ser los correspondientes al 12, 18 y 27).
Te agradezco mucho que atiendas mis preguntas y espero no parecer pesado.