Macro, que recorra cierto rango, compare el valor que hay en otra celda, y si es igual que escriba un dato en la celda de la par

En modo ejemplo, lo que yo pienso hacer es un código que lea lo que hay en las celdas A1 y B1 y lo compare en el rango G11:G18 y la condición que cumpla me escriba algo en la celda de la par, un "C" por ejemplo. He probado el siguiente código y le he dado muchas modificaciones pero no se por que no me funciona:

For Each celda In ActiveSheet.Range("G11:G18")
If celda.Value = Range("A1") Then
Range("H1").End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = "C"
End If
Next celda
For Each celda In ActiveSheet.Range("G11:G18")
If celda.value = Range("b1") Then
Range("F1").End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = "C"
 End If
Next celda

No, se si me sugieren de otra forma, o me señalan el error en mi proceso

1 respuesta

Respuesta

Prueba con este código

Sub buscar_y_anadir()
fechah = Range("a1"): fechaa = Range("b1")
cuenta = WorksheetFunction.CountA(Range("g:g"))
Set datos = Range("g11").Resize(cuenta, 1)
With datos
    For i = 1 To cuenta
        valida = fechah = .Cells(i, 1) Or fechaa = .Cells(i, 1)
        If valida Then .Cells(i, 2) = "C"
    Next i
End With
Set datos = Nothing
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas