Eliminar filas iguales iguales en dos listbox
Hola Carruina, pruebo suerte contigo a ver si me puedes orientar. Tengo un userform con dos combobox, dos listbox y un commandbutton. Todos los datos vienen de una hoja de Excel. Los listbox permiten multiselección (1). Los combobox se cargan con el evento change y hago un bucle en un rango de tal manera que si los datos de una columna son iguales al texto del combobox se copia esa columna y adyacentes en otro rango, y ese rango es ahora el rowsource del listbox. Imagino que la forma habitual de cargar un combobox es haciendo un filtro avanzado pero como soy principiante y no me interesaban las cabeceras tengo columnas sin títulos, no pensé en ello, y con un bucle ya me funcionaba bien . El commandbutton casa las filas iguales en los dos listbox pero solo seleccionando un movimiento en cada listbox (la opción multiselect la tengo activada para hacer otra cosa diferente más adelante con otro botón ).
El problema que tengo es que en el código del botón, cuando selecciono dos filas iguales, le digo que las elimine del primer rango de datos (del rango que luego se halla con un bucle el rowsource que se mostrara seleccionado del combobox), cuando elimino la primera fila ya me salta un error en el código del combobox _change ( me dice que no detecta la currentregion, o si suprimo esa línea del código, me da error en el bucle diciendo que no puede copiar el rango. Si en vez de eliminar las filas, le digo que borre sus contenidos y los ordene de tal manera que la fila borrada se va al final del rango, no me da error pero entonces no sé cómo hacer que el userform se muestre con el ultimo combobox seleccionado.
No te he puesto el código para no abusar de tu tiempo descifrándolo y porque sospecho que mi problema es que no entiendo cómo funciona el combobox_change cuando le doy al commandbutton (pensaba que una cosa no afectaría a la otra) pero si crees que puedes orientarme y necesitaras verlo para identificar el problema te lo envío. También te agradecería que si no puedes orientarme, me respondieras, ya que pondría la pregunta en el tablón publico o preguntaría a otro experto.
Saludos y muchas gracias.
El problema que tengo es que en el código del botón, cuando selecciono dos filas iguales, le digo que las elimine del primer rango de datos (del rango que luego se halla con un bucle el rowsource que se mostrara seleccionado del combobox), cuando elimino la primera fila ya me salta un error en el código del combobox _change ( me dice que no detecta la currentregion, o si suprimo esa línea del código, me da error en el bucle diciendo que no puede copiar el rango. Si en vez de eliminar las filas, le digo que borre sus contenidos y los ordene de tal manera que la fila borrada se va al final del rango, no me da error pero entonces no sé cómo hacer que el userform se muestre con el ultimo combobox seleccionado.
No te he puesto el código para no abusar de tu tiempo descifrándolo y porque sospecho que mi problema es que no entiendo cómo funciona el combobox_change cuando le doy al commandbutton (pensaba que una cosa no afectaría a la otra) pero si crees que puedes orientarme y necesitaras verlo para identificar el problema te lo envío. También te agradecería que si no puedes orientarme, me respondieras, ya que pondría la pregunta en el tablón publico o preguntaría a otro experto.
Saludos y muchas gracias.
1 Respuesta
Respuesta de carruina
1