Listbox en un formulario sin duplicados
Hola
Dispongo de un Listbox dentro de un formulario, en donde se muestran todas las filas, pero lo que necesito es que aparezcan sólo las filas que tengan datos en la columna B. Estaría muy agradecido si me pueden echar una mano
La secuencia que tengo es:
Private Sub CommandButton2_Click()
UserForm3_Pago_Facturas.dtpServicio.Value = ""
Unload Me
End Sub
Private Sub CommandButton1_Click(): On Error Resume Next
If IsDate(dtpServicio) = True Then
If Not ListBox1.ListIndex = -1 Then
Range("X" & ListBox1.List(ListBox1.ListIndex, 4)) = dtpServicio.Value
'si el Nº de Orden está vacio, coloca el ID y el Cliente
If Cells(ListBox1.ListIndex + 1, 5).Value <> "" Then
Range("X" & ListBox1.List(ListBox1.ListIndex + 1, 4)) = dtpServicio.Value
End If
ListBox1.RemoveItem (ListBox1.ListIndex)
Exit Sub
End If
End If
Beep
End Sub
Private Sub dtpServicio_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
dtpServicio.Value = Calendar1.Value
End Sub
Private Sub ListBox1_Click()
Label1.Caption = ""
dtpServicio.Value = ""
If Not ListBox1.ListIndex = -1 Then
Label1.Caption = " " & ListBox1.List(ListBox1.ListIndex, 1)
TextBox1.Text = ListBox1.List(ListBox1.ListIndex, 0)
TextBox2.Text = ListBox1.List(ListBox1.ListIndex, 2)
End If
End Sub
Private Sub TextBox1_Change()
TextBox1.Enabled = False
End Sub
Private Sub TextBox2_Change()
TextBox2.Enabled = False
End Sub
Private Sub UserForm_Activate()
With ListBox1
For x = 2 To Range("B" & Rows.Count).End(xlUp).Row
If IsDate(Range("X" & x)) = False Then
.AddItem
.List(.ListCount - 1, 0) = Range("B" & x)
.List(.ListCount - 1, 1) = Range("D" & x)
.List(.ListCount - 1, 2) = Range("I" & x)
.List(.ListCount - 1, 3) = Range("J" & x)
.List(.ListCount - 1, 4) = x
End If
Next
.ListIndex = 0
End With
End Sub