Las cookies nos ayudan a ofrecer nuestros servicios. Al utilizar nuestros servicios, usted acepta el uso de cookies.
Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Registrate
x

or

¿Cómo duplicar filas según el valor de celda en una columna?

Por ejemplo, tengo un rango de datos que contiene una lista de números en la columna D, y ahora, quiero duplicar las filas enteras varias veces según los valores numéricos en la columna D para obtener el siguiente resultado. ¿Cómo podría copiar las filas varias veces según los valores de celda en Excel?

doc duplica filas por celda 1

Duplicar filas varias veces en función de los valores de celda con código VBA


flecha azul burbuja derecha Duplicar filas varias veces en función de los valores de celda con código VBA

Para copiar y duplicar las filas enteras varias veces en función de los valores de las celdas, el siguiente código de VBA puede ayudarlo, haga lo siguiente:

1. Mantenga presionado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en Módulo Ventana.

Código de VBA: duplicar filas varias veces en función del valor de la celda:

Sub CopyData()
'Updateby Extendoffice 20160922
    Dim xRow As Long
    Dim VInSertNum As Variant
    xRow = 1
    Application.ScreenUpdating = False
    Do While (Cells(xRow, "A") <> "")
        VInSertNum = Cells(xRow, "D")
        If ((VInSertNum > 1) And IsNumeric(VInSertNum)) Then
           Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
           Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "D")).Select
           Selection.Insert Shift:=xlDown
           xRow = xRow + VInSertNum - 1
        End If
        xRow = xRow + 1
    Loop
    Application.ScreenUpdating = False
End Sub

3. Entonces presione F5 clave para ejecutar este código, las filas enteras se han duplicado varias veces en función del valor de la celda en la columna D, según lo necesite.

notas: En el código anterior, la letra A indica la columna de inicio de su rango de datos, y la letra D es la letra de la columna sobre la que desea duplicar las filas. Por favor, cámbielos a su necesidad.



Herramientas de productividad recomendadas

Office Tab

gold star1 Lleve las pestañas útiles a Excel y a otros programas de Office, como Chrome, Firefox y el nuevo Internet Explorer.

Kutools for Excel

gold star1 ¡Asombroso! Aumente su productividad en minutos 5. ¡No necesita ninguna habilidad especial, ahorre dos horas todos los días!

gold star1 Las nuevas características de 300 para Excel hacen que Excel sea mucho más fácil y potente:

  • Fusionar celdas / filas / columnas sin perder datos.
  • Combine y consolide varias hojas y libros de trabajo.
  • Comparar rangos, copiar rangos múltiples, convertir texto a la fecha, unidad y conversión de moneda.
  • Cuenta por colores, subtotales de paginación, clasificación avanzada y superfiltro,
  • Más Seleccionar / Insertar / Eliminar / Texto / Formato / Enlace / Comentario / Libros de trabajo / Hojas de trabajo Herramientas ...

Captura de pantalla de Kutools para Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    KAS · 1 months ago
    Is there a way to update the module to only duplicate new data? I'm working on an ongoing document and do not want the code to duplicate data that has been previously duplicated.
  • To post as a guest, your comment is unpublished.
    Gerardo Enrique Heras Araujo · 2 months ago
    hi, for me is no working, I want to remove letters and number duplicate is possible?
  • To post as a guest, your comment is unpublished.
    Naomi · 2 months ago
    This script seems to be exactly what I need, however, when I run it I am getting an error on the line Selection.Insert Shift:=x1Down

    Any suggestions on how I fix this?
  • To post as a guest, your comment is unpublished.
    Manuel F · 2 months ago
    Thanks! it has been a great solution for all my troubles!
  • To post as a guest, your comment is unpublished.
    Leah · 3 months ago
    Hello, this worked great. However, I have a report with 1000 entries and the code stopped duplicating around entry 480. Is there something that I can add so that it completes the action on the entire report?
    • To post as a guest, your comment is unpublished.
      skyyang · 3 months ago
      Hello, Leah,
      I have tested the code in 2000 rows, and it works well.
      Could you send your worksheet to me for testing the code?
      My email address is skyyang@extendoffice.com
      Look forward to your reply!
      • To post as a guest, your comment is unpublished.
        Leah · 3 months ago
        Hello! I got it to work. It was an error on my side, the report had a few blank rows that were hidden that were causing the script to stop looping. It worked for my report with 8,000 rows! Thank youQ