Duplicar tablas en excel al seleccionar un número de una lista desplegable

Me gustaría que me ayudara con una duda: Tengo en excel una lista desplegable que se llama visitas con los números del 1 al 10, ademas de esta lista tengo una tabla con los siguientes datos

Horas de inspección, horas de movilización, horas en oficina.

Lo que quiero saber es como hacer para que cuando seleccione algún numero de la lista, la tabla se me duplique las veces que fue seleccionada de la lista (ej: selecciono de la lista visitas el # 4, entonces que inmediatamente se me duplique 4 veces la tabla.

1 respuesta

Respuesta
1

La tabla necesitas que se pegue en la misma hoja o en diferentes hojas, ¿si es en la misma hojas que rango de celdas abarca la tabla?

Hola David gracias por contestar... Que se peguen en la misma hoja  el rango de celdas es 

A22                C22

A23                C23

A24                C24

A25               C25

A26               C26

A27               C27

Entra al editor de VBA (Alt+F11), en el lado derecho en los objetos de excell da dobleclic en el nombre de la hoja donde tienens tu tabla y copia y pega el código que anexo abajo, en mi ejemplo tengo mi lista desplegable en la celda (B20).

Avisa si tienes alguna duda.

Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, [B20]) Is Nothing Then Exit Sub
        Call LimpiaTabla
        n = Range("B20")
        Range("A22:C27").Select
        RangoCopiar = Selection.Copy
        Range("A22").Activate
        For I = 1 To n
            ActiveCell.End(xlDown).Offset(1, 0).Activate
            ActiveSheet.Paste
        Next I
        Range("A22").Activate
        Application.CutCopyMode = False
End Sub

Sub LimpiaTabla()

    Range("A28").Activate
    Cell1 = ActiveCell.Address
    Cell2 = ActiveCell.End(xlDown).Offset(0, 2).Address
    Range(Cell1 & ":" & Cell2).Select
    Selection.Clear
End Sub

¡Gracias! David muchas gracias me funciono! solo que si selecciono 1 me salen dos, la que tengo creada y la que sale con el código... Mil gracias

Si, el número que se captura en la lista desplegable será el número de veces que se copie la tabla, prueba con éste código.

Private Sub Worksheet_Change(ByVal Target As Range)

        If Intersect(Target, [B20]) Is Nothing Then Exit Sub
        Call LimpiaTabla
        n = Range("B20")

        If n = 1 then

            Exit Sub

        Else
            Range("A22:C27").Select
            RangoCopiar = Selection.Copy
            Range("A22").Activate
            For I = 1 To n
                ActiveCell.End(xlDown).Offset(1, 0).Activate
                ActiveSheet.Paste
            Next I
            Range("A22").Activate
            Application.CutCopyMode = False

        End if
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas