Copiar un rango de celdas dependiendo de un valor de otra.

Hola tengo un problema, quisiera saber como copiar un rango de celdas dependiendo un valor de otra. Por ejemplo: que se copien n veces dependiendo el valor del numero de pagos toda la fila, desplazando los demás filas y así consecutivamente.

Hoja Normal

Cliente       Ciudad     Numero de pagos

German     Mexico                    2

Raul          Queretaro               3

Mauricio    Veracruz                 1

Adan         Mexico                    1

Manuel      Mexico                    2

Hoja modificada

Cliente      Ciudad           Numero de pagos

German     Mexico                    2

German     Mexico                    2

Raul          Queretaro               3

Raul          Queretaro               3

Raul          Queretaro               3

Mauricio    Veracruz                 1

Adan         Mexico                    1

Manuel      Mexico                    2

Manuel      Mexico                    2

Por favor sera de gran ayuda.

1 respuesta

Respuesta
1

Utiliza la siguiente macro

Sub copiar()
'Por.Dante Amor
    For i = Range("C" & Rows.Count).End(xlUp).Row To 2 Step -1
        If Cells(i, "C") > 1 Then
            For j = 1 To Cells(i, "C") - 1
                Rows(i).Copy
                Rows(i).Insert Shift:=xlDown
            Next
        End If
    Next
End Sub

Esto es suponiendo que tu columna de "Número de pagos" es la "C", si es otra columna, cambia en la macro donde diga "C" por la columna en donde se encuentre el número de pagos.


Sigue las Instrucciones para ejecutar la macro

  1. Abre tu archivo de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Para ejecutarla presiona F5

Hola, Gracias por tu respuesta es buena. Estuve buscando soluciones pero no encontraba nada.

Solo unas preguntas mas:

En ocasiones tengo celdas con #¡VALOR! y al ejecutar la macro sale error, y quiero que la macro haga lo mismo que hace con elno los tome en cuenta y siga con las demás celdas.

Otra cuestión es que la macro la quiero ejecutar con un botón pero me sale error 13.

Pienso que es por que el ciclo sigue ya que si lo ejecuto paso a paso F8 lo sigue haciendo cíclico, y solo quiero que lo haga solo una ves, por celda.

Espero me puedas ayudar, GRACIAS por todo.

Con todo gusto te sigo apoyando con tus dudas.

Puedes valorar esta respuesta.

Al final de mi respuesta dice: “Es una buena respuesta” y puedes seleccionar una de 3 opciones:

  • Excelente
  • Si
  • No

Para las siguientes dudas crea una pregunta nueva para cada petición, si gustas puedes poner que va dirigida a Dante Amor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas