Macro para validar información
Buenas tardes he realizado una macro para validar información. Me explico recibo una tabla con una columna que tiene códigos de distritos del Perú. Supuestamente mi macro debería tomar uno por uno cada uno de estos y compararlos con la tabla que contiene todos los códigos y debe apuntar dicho error en otra hoja. Pero cuando la ejecuto me jala todos los datos como si todos fueran erróneos. (En realidad solo uno lo esta pues yo lo modifique para probar la macro). Les adjunto el código y agradezco su valiosa ayuda que hasta el momento me ha sido de gran utilidad.
Sub Validacion()
Dim co1 As Integer
Dim ub As Integer
Dim d As Integer
Dim errores As Boolean
Dim cod As String
Dim a As Integer
d = 1
While Cells(d + 2, 30).Value <> ""
d = d + 1
Wend
For co1 = 3 To d
Sheets("Tabla").Select
cod = Cells(co1, 30).Value
Sheets("Ubicaciones").Select
Range("a3").Select
For ub = 3 To 2064
If ActiveCell.Value = cod Then
errores = True
End If
Next ub
If errores = True Then
Sheets("Errores").Select
ActiveCell.Value = "AD"
ActiveCell.Offset(0, 1) = co1
ActiveCell.Offset(0, 2) = "Ingrese un código de la tabla ubicaciones"
ActiveCell.Offset(0, 3) = Date
While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Range("A1").Select
Wend
Sheets("Tabla").Select
End If
Next co1
End Sub
Sub Validacion()
Dim co1 As Integer
Dim ub As Integer
Dim d As Integer
Dim errores As Boolean
Dim cod As String
Dim a As Integer
d = 1
While Cells(d + 2, 30).Value <> ""
d = d + 1
Wend
For co1 = 3 To d
Sheets("Tabla").Select
cod = Cells(co1, 30).Value
Sheets("Ubicaciones").Select
Range("a3").Select
For ub = 3 To 2064
If ActiveCell.Value = cod Then
errores = True
End If
Next ub
If errores = True Then
Sheets("Errores").Select
ActiveCell.Value = "AD"
ActiveCell.Offset(0, 1) = co1
ActiveCell.Offset(0, 2) = "Ingrese un código de la tabla ubicaciones"
ActiveCell.Offset(0, 3) = Date
While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Range("A1").Select
Wend
Sheets("Tabla").Select
End If
Next co1
End Sub
1 respuesta
Respuesta de Elsa Matilde
1