Copiar celdas de un rango dependiendo de una lista

Hola:
Quisiera que me echaras la mano con un problema que tengo, necesito crear una macro para la siguiente situación:
Tengo un rango de datos alfanuméricos (H2:H60) obtenidos con fórmula con datos de las columnas A hasta G, en la columna contigua (I2:I60) tengo un desplegable de SI/NO, lo que quiero es que si la celda [Ix] es SI copie el valor de [Hx] a [Jx], si es NO que deje en blanco la celda [Jx], cada Fila podrá tomar cualquiera de las 2 opciones (las que se encuentran en columna I) dentro del rango determinado(de la Fila 2 a la 60), hay que mencionar que los datos de cada Fila se van introduciendo uno por uno como lo vaya requiriendo la información
es con la finalidad de no poner una fórmula en J para evitar que la borren, pero que si puedan introducir datos en dado caso que la respuesta sea NO, pero si es SI tome el valr de H
Espero haberme explicado y no haberte confundido, agradezco de antemano tu ayuda
atentamente:
Salvador

1 Respuesta

Respuesta
1
Te sitúas en tu Hoja pulsas Alt+F11 en la ventana que aparece del editor de VBA pinchas en la columna de la izquierda encima de tu hoja doble click y en la ventana en blanco que se abre copias esta macro y la pegas:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As String
Dim celda As String
If ActiveCell.Value = "SI" Then
cel = ActiveCell.Address
celda = Mid(cel, 4)
Range("H" & celda & "").Select
Range("J" & celda & "").Value = ActiveCell.Value
Range(cel).Select
End If
If ActiveCell.Value = "NO" Then
cel = ActiveCell.Address
celda = Mid(cel, 4)
Range("J" & celda & "").Select
ActiveCell.Value = Empty
Range(cel).Select
End If
End Sub
Si en tu lista desplegable eliges SI el valor de de H de esa fila se pegara en la columna J de esa fila, si es NO se quedará en blanco, si después de elegir SI y copiar el valor vuelves a elegir NO se borrará el valor copiado anteriormente y quedara la celda vacía.
>Un saludo
>Julio
PD: Si te ha servido puntúas y finalizas la consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas