Dim h1

Private Sub UserForm_Activate()
    Set h1 = Sheets("ARTICULOS")
End Sub

Private Sub lb_buscar_Click()
'Por.Dante Amor
    ListBox1.Clear
    If txt_buscar.Value = "" Then
        MsgBox "Escribe un dato a buscar", vbInformation, "CONTROL DE ALMACÉN"
        Exit Sub
    End If
    Set r = h1.Columns("B")
    Set b = r.Find(txt_buscar, lookat:=xlPart)
    If Not b Is Nothing Then
        celda = b.Address
        Do
            'detalle
            ListBox1.AddItem h1.Cells(b.Row, "A")
            ListBox1.List(ListBox1.ListCount - 1, 1) = h1.Cells(b.Row, "B")
            ListBox1.List(ListBox1.ListCount - 1, 2) = h1.Cells(b.Row, "C")
            ListBox1.List(ListBox1.ListCount - 1, 3) = h1.Cells(b.Row, "D")
            ListBox1.List(ListBox1.ListCount - 1, 3) = Format(Sheets("ARTICULOS").Cells(b.Row, "D"), "CURRENCY")
            ListBox1.List(ListBox1.ListCount - 1, 4) = h1.Cells(b.Row, "E")
            ListBox1.List(ListBox1.ListCount - 1, 5) = h1.Cells(b.Row, "F")
            ListBox1.List(ListBox1.ListCount - 1, 5) = Format(Sheets("ARTICULOS").Cells(b.Row, "F"), "CURRENCY")
            ListBox1.List(ListBox1.ListCount - 1, 6) = h1.Cells(b.Row, "G")
            ListBox1.List(ListBox1.ListCount - 1, 7) = b.Row
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> celda
    End If
End Sub


Private Sub lb_eliminar_Click()
 If txt_buscar.Value = "" Then
        MsgBox "Escribe un dato a buscar.", vbInformation, "CONTROL DE ALMACÉN"
        Exit Sub
    End If
    If ListBox1.ListIndex = -1 Then
        MsgBox "Selecciona un ARTÍCULO.", vbInformation, "CONTROL DE ALMACÉN"
        Exit Sub
    End If
    Fila = ListBox1.List(ListBox1.ListIndex, 7)
    arch = h1.Cells(Fila, "B").Value & ".jpg"
    If (MsgBox("¿Se eliminará el ARTÍCULO seleccionado?.", vbCritical + vbYesNo, "CONTROL DE ALMACÉN") = vbYes) Then
        h1.Rows(Fila).Delete
        MsgBox "ARTÍCULO eliminado.", vbInformation, ""
        ruta = ThisWorkbook.Path & "\imagenes\"
        If (MsgBox("¿Quieres eliminar la imagen del ARTÍCULO eliminado?.", vbCritical + vbYesNo, "CONTROL DE ALMACÉN") = vbYes) Then
            If Dir(ruta & arch) <> "" Then
                Kill ruta & arch
                Image1.Picture = Nothing
                MsgBox "Se eliminó la imagen del ARTÍCULO eliminado.", vbInformation, "CONTROL DE ALMACÉN"
            Else
                MsgBox "No hay imagen para eliminar.", vbInformation, ""
            End If
        End If
    Else
        Cancel = 1
        
    End If
    ListBox1.Clear
    Call LimpiarControles
    
    End Sub

Private Sub lb_modificar_Click()
'Por.Dante Amor
    If ListBox1.ListIndex = -1 Then
        MsgBox "Selecciona un ARTÍCULO para modificar", vbInformation, "CONTROL DE ALMACÉN"
        Exit Sub
    End If
'    Call LimpiarControles
    With frm_articulos_modificar
        .Fila = ListBox1.List(ListBox1.ListIndex, 7)
        .Show
    End With
End Sub