Macro que no funciona (de nuevo)
Hola, esta semana envíe una pregunta sobre una macro que no me funcionaba, se trataba de lo siguiente: "BD" es una base de datos con 15 registros y 17 columnas. Lo que quiero es que cuando coincidan 3 argumentos que se encuentran en las columnas 1, 10 y 14 con los valores 1,2 y 3 respectivamente, se elimine la fila entera. El código que escribí fue:
Sub EliminarRegistro()
valor1 = "4"
valor2 = "098-05-04"
valor3 = "Baja"
Sheets("BD").Select
Range("A1").Select
ActiveCell.Offset(1, 0).Range("A1").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = valor1 And ActiveCell.Offset(0, 9).Value = valor2 _
And ActiveCell.Offset(0, 13).Value = valor3 Then
Selection.EntireRow.Delete
End If
Wend
End Sub
Me sugeriste que lo cambiara por una estructura For. Eso hice, y lo que me resulto fue lo siguiente:
Sub EliminarRegistro()
Dim Valor1, Valor2, Valor3
Dim X As Long
Valor1 = 4
Valor2 = "098-05-04"
Valor3 = "Baja"
Sheets("BD").Select
For X = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(X, 1) = Valor1 Then
If Cells(X, 1).Offset(0, 9) = Valor2 Then
If Cells(X, 1).Offset(0, 13) = Valor3 Then
Rows(X).Delete
End If
End If
End If
Next X
End Sub
Aun así no me funciona. ¿Me podrías ayudar por favor? Gracias
Sub EliminarRegistro()
valor1 = "4"
valor2 = "098-05-04"
valor3 = "Baja"
Sheets("BD").Select
Range("A1").Select
ActiveCell.Offset(1, 0).Range("A1").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = valor1 And ActiveCell.Offset(0, 9).Value = valor2 _
And ActiveCell.Offset(0, 13).Value = valor3 Then
Selection.EntireRow.Delete
End If
Wend
End Sub
Me sugeriste que lo cambiara por una estructura For. Eso hice, y lo que me resulto fue lo siguiente:
Sub EliminarRegistro()
Dim Valor1, Valor2, Valor3
Dim X As Long
Valor1 = 4
Valor2 = "098-05-04"
Valor3 = "Baja"
Sheets("BD").Select
For X = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(X, 1) = Valor1 Then
If Cells(X, 1).Offset(0, 9) = Valor2 Then
If Cells(X, 1).Offset(0, 13) = Valor3 Then
Rows(X).Delete
End If
End If
End If
Next X
End Sub
Aun así no me funciona. ¿Me podrías ayudar por favor? Gracias
1 respuesta
Respuesta de tavopz
1