Buenas tardes, hice un pequeño programa en excel a modo de prueba y me gustaría solicitar orientación respecto a varios problemas que he observado, he estado leyendo mucha información en los foros y ayudas en paginas web, incluso he descargado varios archivos.
El tema en cuestión es que tengo una hoja llamada "PRODUCTOS" en la cual muestro cierta información, también tengo un formulario "FrmFacturacion" dentro del cual tengo un listbox llamado "lstDescripcion", en dicha lista muestro las columnas A y G de la hoja PRODUCTOS con el siguiente código:
sUltimaCelda = Range("A1").End(xlDown).Address
For Each f In Range("A2:" & sUltimaCelda).Cells
Me.lstDescripcion.AddItem (f.value)
Me.lstDescripcion.List(Me.lstDescripcion.ListCount - 1, 1) = ActiveSheet.Cells(f.Row, 7)
Next
Después de hacer varias pruebas con todo el proyecto noto que a medida de que aumento los datos el programa se vuelve muy lento, dura mucho para ejecutar las acciones, pienso que es porque recorro cada fila con el For Each, mi pregunta seria si existe otra manera de mostrar los datos de la hoja producto en la lista sin necesidad de recorrerla fila por fila.
Quiero anexar el archivo completo para el que lo pudiese necesitar, pero por la limitación de tamaño no puedo (pesa 384 KB comprimido).
Agradecería toda la ayuda que puedan ofrecerme
PD: De seguro haré otras preguntas relacionadas al mismo proyecto
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenas tardes, hice un pequeño programa en excel a modo de prueba y me gustaría solicitar orientación respecto a varios problemas que he observado, he estado leyendo mucha información en los foros y ayudas en paginas web, incluso he descargado varios archivos.
El tema en cuestión es que tengo una hoja llamada "PRODUCTOS" en la cual muestro cierta información, también tengo un formulario "FrmFacturacion" dentro del cual tengo un listbox llamado "lstDescripcion", en dicha lista muestro las columnas A y G de la hoja PRODUCTOS con el siguiente código:
sUltimaCelda = Range("A1").End(xlDown).Address
For Each f In Range("A2:" & sUltimaCelda).Cells
Me.lstDescripcion.AddItem (f.value)
Me.lstDescripcion.List(Me.lstDescripcion.ListCount - 1, 1) = ActiveSheet.Cells(f.Row, 7)
Next
Después de hacer varias pruebas con todo el proyecto noto que a medida de que aumento los datos el programa se vuelve muy lento, dura mucho para ejecutar las acciones, pienso que es porque recorro cada fila con el For Each, mi pregunta seria si existe otra manera de mostrar los datos de la hoja producto en la lista sin necesidad de recorrerla fila por fila.
Quiero anexar el archivo completo para el que lo pudiese necesitar, pero por la limitación de tamaño no puedo (pesa 384 KB comprimido).
Agradecería toda la ayuda que puedan ofrecerme
PD: De seguro haré otras preguntas relacionadas al mismo proyecto