Macro para cambiar el valor de una celda según el valor de otra

Tengo en mi columna C dos valores, Z1B8032254, Z1B8040407, que se repiten constatmente de forma aleatoria. En la columna B siempre es 1.

Necesito es una macro si Z1B8032254 en mi columna B sea igual a 1 y Z1B8040407 en la columna B = 2

2 respuestas

Respuesta
1

Te pasó el siguiente código que sirve para lo que solicitas, como podrás ver inicio en la fila 2, suponiendo que en la fila 1 tengas encabezados.

Espero te sea de utilidad.

Sub Valores()
On Error GoTo Err_Valores
    Dim nCel As Integer
    nCel = 2
    While Not Trim(Range("C" & nCel).Value) = ""
        If UCase(Range("C" & nCel).Value) = "Z1B8032254" Then Range("B" & nCel) = 1
        If UCase(Range("C" & nCel).Value) = "Z1B8040407" Then Range("B" & nCel) = 2
        nCel = nCel + 1
    Wend
Exit_Valores:
    Exit Sub
Err_Valores:
    MsgBox "Se generó una excepción " & Err.Number & " - " & Err.Description
    Resume Exit_Valores
End Sub
{"Lat":22.155151,"Lng":-100.9639331}
Respuesta
1

H o l a:

Te anexo la macro

Sub CambiarValor()
'Por.Dante Amor
    With Range([B1], Range("B" & Range("C" & Rows.Count).End(xlUp).Row))
      .Formula = "=IF(RC[1]=""Z1B8032254"",1,IF(RC[1]=""Z1B8040407"",2,""""))"
      .Value = .Value
    End With
End Sub

La macro empieza en la celda B1, si empieza en otra fila, por ejemplo en la B2,  cambia en la macro B1 por B2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas