Simular carrito de compras con VBA Excel, utilizando un userform y listbox.
Filtrar registros de una base y cargarlos en un listbox, de ese listbox seleccionar registros y pasarlos a otro listbox (nuestro carrito de compras).
Código:
--------------------------------------------------------------
Option Explicit
Dim a As Variant
Private Sub CmbAutor_Change()
Call FiltrarDatos
End Sub
Private Sub CmbIdioma_Change()
Call FiltrarDatos
End Sub
Private Sub TextBox1_Change()
Call FiltrarDatos
End Sub
Sub FiltrarDatos()
Dim b As Variant
Dim i As Long, j As Long, k As Long
Dim dic As Object
ReDim b(1 To UBound(a, 1), 1 To UBound(a, 2))
ListBox1.Clear
Set dic = CreateObject("Scripting.Dictionary")
For i = 0 To ListBox2.ListCount - 1
dic(ListBox2.List(i, 0)) = Empty
Next
For i = 1 To UBound(a)
If LCase(a(i, 1)) Like "*" & LCase(TextBox1) & "*" And _
a(i, 2) Like "*" & CmbAutor.Value And _
a(i, 3) Like "*" & CmbIdioma.Value And _
Not dic.exists(a(i, 1)) Then
k = k + 1
For j = 1 To UBound(a, 2)
b(k, j) = a(i, j)
Next
End If
Next
ListBox1.List = b
End Sub
Private Sub MoverA_Click()
Call Mover(ListBox1, ListBox2)
End Sub
--------------------------------------------------------------
-----------------------------------
Vídeos relacionados:
Manejo de matrices:
https://www.youtube.com/playlist?list=PLmz9wGL_ItXN2J8xrd2ZQIEww60nHj_Z_
Utilización de Dictionary:
https://www.youtube.com/playlist?list=PLmz9wGL_ItXMwyD1AN9s4VDBCJ5EPjR-F
Ejemplo carga de listbox con una matriz:
https://www.youtube.com/watch?v=Bn-xtarwrsk&list=PLmz9wGL_ItXM9bnmejwoaiewa4TiCveuC&index=3&t=4s
Ordenar datos en el combobox:
https://www.youtube.com/watch?v=4klJVh_Ob0M&list=PLmz9wGL_ItXM9bnmejwoaiewa4TiCveuC&index=7
No hay comentarios.:
Publicar un comentario