Eliminar fila de hoja1 si existe mismo valor en hoja 2 excel

me explico...

hoja 1 rango a3 :a1000 lleno de códigos cliente (números enteros)que se repiten...

hoja 2 rango a3:a1000 lleno de códigos cliente (enteros) que se repiten...

hoja 3 rango a3:a1000 lleno de códigos cliente(emteros)....

lo que quiero conseguir es que si esta el código en la hoja 3 entre a3:a1000 borre la fila de la hoja 1 y la hoja 2 si esta ese código.....

muchas gracias

1 respuesta

Respuesta
1

Me puedes explicar con un ejemplo, no entendí bien, si el código está en la hoja3 y también en la hoja2, ¿qué lo borre de la hoja1?

¿Cuál hoja uso primero? ¿La hoja3 y todos los códigos de la hoja3 los busco en la hoja2?

hola como estas...

el cod de cliente esta en las tres te cuento....

la primera hoja 1 esta la dirección etc encabezada por numero de cliente 1,2,3,4 etc

en la hoja 2 las señales el 1 da 100€ el dia 20-11-2012 ....otra fila el numero 1 da 50€ el 21-11-2012 asi también esta encabezada por el mismo código que se puede repetir...

y estas dos las extraigo a un resumen en la hoja 3 que también esta encabezada por el cod de cliente....lo que quiero es que si esta en la hoja 3 el código borre las filas de las otras dos hojas....

gracias

En resumen, con un ejemplo: si el cliente 1 está en la Hoja3, se borra de la Hoja1 y de la Hoja2. Te envío la macro.

Instrucciones
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona ALt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Para ejecutarla presiona F5

Sub borrafilas()
'Borra filas de clientes si están en la hoja3
'Por.Dam
Dim whoja1, whoja2, whoja3 As Worksheet
Set whoja1 = Worksheets("Hoja1")
Set whoja2 = Worksheets("Hoja2")
Set whoja3 = Worksheets("Hoja3")
whoja1.Select
ufil1 = ActiveCell.SpecialCells(xlLastCell).Row
ucol1 = ActiveCell.SpecialCells(xlLastCell).Column
whoja2.Select
ufil2 = ActiveCell.SpecialCells(xlLastCell).Row
ucol2 = ActiveCell.SpecialCells(xlLastCell).Column
whoja3.Select
ufil3 = ActiveCell.SpecialCells(xlLastCell).Row
ucol3 = ActiveCell.SpecialCells(xlLastCell).Column
For i = 2 To ufil3
    cliente = Cells(i, 1)
    'Borra clientes de Hoja1
    whoja1.Select
    Range(Cells(1, 1), Cells(ufil1, ucol1)).Select
    ActiveSheet.AutoFilterMode = False
    Selection.AutoFilter
    Selection.AutoFilter Field:=1, _
    Criteria1:=cliente
    Range("A2").Select
    For j = 1 To ufil1
        If Cells(j, 1) = cliente Then
            Cells(j, 1).Select
            sele = "si"
            Exit For
        End If
    Next
    If sele = "si" Then
        Range(Selection, Selection.End(xlDown)).Select
        Selection.EntireRow.Delete
    'Else
    '    MsgBox "No hay clientes a borrar"
    End If
    ActiveSheet.AutoFilterMode = False
    'Borra clientes de Hoja2
    whoja2.Select
    Range(Cells(1, 1), Cells(ufil2, ucol2)).Select
    ActiveSheet.AutoFilterMode = False
    Selection.AutoFilter
    Selection.AutoFilter Field:=1, _
    Criteria1:=cliente
    Range("A2").Select
    For k = 1 To ufil1
        If Cells(k, 1) = cliente Then
            Cells(k, 1).Select
            sele = "si2"
            Exit For
        End If
    Next
    If sele = "si2" Then
        Range(Selection, Selection.End(xlDown)).Select
        Selection.EntireRow.Delete
    'Else
    '    MsgBox "No hay clientes a borrar"
    End If
    ActiveSheet.AutoFilterMode = False
    whoja3.Select
Next
End Sub

Saludos.Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas