Sobre macro

Hola amigo;
Ya me has ayudado y nuevamente ahora estoy molestandote;
Bueno quiero resolver el siguiente problema:
Tengo dos hojas en excel 2000 en la hoja1 tengo una lista de productos digamos que 6 productos, y en la hoja2 tengo una gran cantidad de productos incluyendo entre ellos los 6 de la hoja1 pero en repetidas ocasiones, lo que quiero es eliminar las filas completas en la hoja2 donde se encuentren los 6 productos de la hoja 1, he estado tratando de hacerlo por medio de dos lazos, un Do While y dentro del Do While un For Next pero no lo he logrado, si puedes ayudarme te lo agradeceré mucho, ya estoy retrasado tratando de resolver esto... De antemano mil gracias.
Respuesta
1
He preparado una macro que puede ayudarte, me temo que no es muy elegante, pero no es mi especialidad y parece que tienes prisa.
Yo he creado dos hojas (Productos y Productos2)
Los 6 productos a buscar están en Productos! A1:A6
En productos 2 están los otros (en la columna 1).
La macro que he utilizado es esta:
Sub ELIMINAR()
'
Dim P1 As String
Dim P2 As String
Dim P3 As String
Dim P4 As String
Dim P5 As String
Dim P6 As String
P1 = Sheets("productos").Range("a1").Value
P2 = Sheets("productos").Range("a2").Value
P3 = Sheets("productos").Range("a3").Value
P4 = Sheets("productos").Range("a4").Value
P5 = Sheets("productos").Range("a5").Value
P6 = Sheets("productos").Range("a6").Value
Sheets("productos2").Select
Dim Fila As Integer
For Fila = 1 To 100
Dim Rango As Range
Set Rango = Range(Cells(Fila, 1), Cells(Fila, 1))
If Rango = P1 Or Rango = P2 Or Rango = P3 Or Rango = P4 Or Rango = P5 Or Rango = P6 Then
Rango.Select
Selection.EntireRow.Delete
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
End If
Next Fila
End Sub
Vigila que las mayúsculas/minúsculas sean las mismas en los productos de las dos hojas.
Si no te funciona, continúa con la pregunta a ver si damos con el problema. Seguramente se pueda emplear Select Case en lugar del If.
Un saludo,
Javi
PD No olvides valorar la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas