Macro para reemplaza N cantidad de celdas según valor en celda

Tengo la columna B con una serie de datos, CENTRO, COSTA, NORTE, OCCIDENTE, ORIENTE y FALSO, de cada datos hay una cantidad de filas y esta cantidad siempre varía. El valor FALSO (que siempre varía sus filas) se repite por ejemplo 10 veces.

De las 10 filas que dicen FALSO requiero reemplazarla por CENTRO la cantidad de veces que diga la celda I2 (ejemplo 2 veces). Luego de las 8 filas que ahora dicen FALSO requiero reemplazarla por COSTA la cantidad de veces que diga la celda I3 (otra vez 2 veces). Luego de las 6 filas que ahora dicen FALSO requiero reemplazarla por NORTE la cantidad de veces que diga la celda I4 (ahora 3 veces). Luego de las 3 filas que ahora dicen FALSO requiero reemplazarla por OCCIDENTE la cantidad de veces que diga la celda I5 (ahora 1 vez). Para finalizar de las últimas 2 filas que ahora dicen FALSO requiero reemplazarla por ORIENTE la cantidad de veces que diga la celda I6 (2 veces).

Dejo la siguiente imagen que es mas grafica basada en los anterior descrito (los colores son solo una guía).

1 Respuesta

Respuesta
1

Prueba la siguiente:

Sub Reemplazar_Datos()
  Dim f As Range, c As Range
  '
  For Each c In Range("I2", Range("I" & Rows.Count).End(3))
    Set f = Range("B:B").Find(False, , xlValues, xlWhole, , , False)
    If Not f Is Nothing Then
      f.Resize(c.Value, 1).Value = c.Offset(, -1)
    Else
      MsgBox "No hay más celdas con 'FALSO'"
      Exit Sub
    End If
  Next
End Sub

¡Gracias! Cracksiño Dante, respondes mis preguntas hace unos 4 años y medio y siempre lo haces de manera perfecta. Gracias mi hermano, me salvas de otra.

Me encantó que dejaste dinámica la macro para que tome el valor que haya en las celdas H2 a la H6.

Mil gracias a nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas