Carrito de compras

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