Copiar columnas no fijas (que la macro le pregunte al usuario cuales) a otra hoja

Para Dante Amor

Dam, La macro anexa aplica para columnas fijas ("BF", "¿F"...) .Como será la macro para que cuando se ejecute pregunte al usuario cuales columnas desea copiar a la otra hoja?, es decir, ser variable el No. De columnas

Gracias,

Sub copiar_Columnas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    cols = Array("BF", "F", "D", "AZ", "BA", "S", "BT", "BW", "BX", "C", "V", "T", "K", "X", "H", "J")
    Set h1 = Sheets("comprobantes")
    Set h2 = Sheets("Formato_Ingresos")
    For i = LBound(cols) To UBound(cols)
        h1.Columns(cols(i)).Copy h2.Cells(1, i + 1)
    Next
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub

1 Respuesta

Respuesta
1

Lo más práctico para mí, sería poner las columnas en una hoja, por ejemplo, en una hoja llamada configuración, en la columna A, poner las columnas que deseas copiar, pueden ser 1 o 100 columnas:

Hoja "configuración"

               A                 B

1         BF

2         F

3        D

4        AZ

5        BA

6         ...


De esa forma el usuario podría capturar las columnas que quisiera copiar.

Sub copiar_Columnas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("comprobantes")
    Set h2 = Sheets("Formato_Ingresos")
    Set h3 = Sheets("configuración")
    For i = 1 To h3.Range("A" & Rows.Count).End(xlUp).Row
        h1.Columns(h3.Range("A" & i).Value).Copy h2.Cells(1, i)
    Next
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas