Como eliminar fila de hojas diferentes

Quisiera saber como puedo eliminar la fila que contenga el dato seleccionado en un listbox en tres hojas diferente del mismo libro, por ejemplo en la hoja1 y hoja2 los datos están en la columna B y en la hoja3 están en la columna C. Requiero que al dar doble clic en el listbox se elimine ahí y en las tres hojas. Alguien podrá asesorarme. Tengo esta instrucción pero solo eh podido eliminar en una solo hoja.

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Set a = Sheets("Hoja1")
filaedit = a.Range("B" & Rows.Count).End(xlUp).Row
fila = ListBox1.ListIndex
cod = UserForm1.ListBox1.List(fila, 1)
ListBox1.RemoveItem (ListBox1.ListIndex)
Set codigo = a.Range("B2:B" & filaedit).Find(cod, LookIn:=xlValues, LookAt:=xlWhole)
If Not codigo Is Nothing Then
Dire = codigo.Row
a.Cells(Dire, "A").EntireRow.Delete
End If
End Sub

1 respuesta

Respuesta
1

[Hola

No lo veo complicado pero para no estar recreando tu archivo y escribiendo datos, sería más fácil que coloques tu archivo, o al menos parte de él, en algún "Drive" y compartas por aquí el enlace.

Abraham Valencia

Abraham Valencia te dejo el archivo, en el tendrás que llenar el formulario con algún producto y te lo mostrara en el listbox ahí al seleccionar el articulo a eliminar te aparecerá un botón rojo para eliminar con la instrucción que hay ahorita en ese botón conseguí eliminar de las tres hojas pero no logra eliminar del listbox. cualquier comentario estaré pendiente. gracias por tu apoyo.

https://mega.nz/#!SVRHlQjJ!LEbyYmI10OLc-0REEVBb6tWsmRsuEmLbqk01umfVP48 

Cambia la parte correspondiente así:

 If .Selected(i) = True Then
            x = Application.Match(.List(i), ws.Range("a:a"), 0)
            y = Application.Match(.List(i), ys.Range("a:a"), 0)
            z = Application.Match(.List(i), zs.Range("b:b"), 0)
            If Not IsError(x) Then
              ws.Rows(x).EntireRow.Delete
              ys.Rows(y).EntireRow.Delete
              zs.Rows(z).EntireRow.Delete
            ListBox1.RemoveItem i
            End If
        End If

Comentas

Abraham Valencia

@ Abraham valencia funciona bien, pero si solo pongo un articulo en el listbox y lo elimino se elimina de las hojas pero con la fila superior con ella. checalo y veraz

   If .Selected(i) = True Then
            x = Application.Match(.List(i), ws.Range("a:a"), 0)
            y = Application.Match(.List(i), ys.Range("a:a"), 0)
            z = Application.Match(.List(i), zs.Range("b:b"), 0)
            If Not IsError(x) Then
              ws.Rows(x).EntireRow.Delete
              ys.Rows(y).EntireRow.Delete
              zs.Rows(z).EntireRow.Delete
            ListBox1.RemoveItem i
            Exit For
            End If
        End If

Prueba ahora

Abraham Valencia

Abraham Valencia mil gracias ahora si al cien, te doy 10 estrellas si tuviera más te las diera. Hasta pronto

Pues de nada

Saludos]

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas