/ / VBA Excel Dividir una hoja cada n columna - excel, vba, excel-vba, split

VBA Excel Divide una hoja en cada columna n: excel, vba, excel-vba, split

Tengo una tabla transpuesta con dos "encabezadocolumnas ". La tabla se extiende demasiado hacia la derecha, y quiero poder dividir esta tabla en varias hojas con cada" n "columnas, al mismo tiempo que se copian las dos columnas de encabezado en cada hoja nueva. Todos los ejemplos que puedo encontrar solo divido cada "n" filas, mientras que quiero dividir cada "n" columnas.

Me resulta difícil explicarlo en clarotexto, así que estoy adjuntando capturas de pantalla: en este ejemplo, la primera hoja contiene los datos originales y las hojas subsiguientes contienen el resultado intencionado de la macro, donde la hoja se divide cada dos columnas:

enter image description hereenter image description hereenter image description hereenter image description here

Respuestas

2 para la respuesta № 1
Sub colsplit()
Dim wssrc As Worksheet
Dim wsdest As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set wssrc = ActiveWorkbook.Sheets("Source")
"getting No of columns
lcol = wssrc.Cells(1, Columns.Count).End(xlToLeft).Column
On Error GoTo resetsettings
"getting User input to split count
col = InputBox("Enter Number of columns to split")
If IsNumeric(col) And col <> "" And col > 0 Then
desti = 1
For i = 3 To lcol
Set wsdest = Sheets.Add(After:=Sheets(Sheets.Count))
wsdest.Name = "split" & desti
"copying header columns to new sheets
wssrc.Columns(1).EntireColumn.Copy Destination:=wsdest.Cells(1, 1)
wssrc.Columns(2).EntireColumn.Copy Destination:=wsdest.Cells(1, 2)
desti = desti + 1
x = 3
For j = i To (i + col - 1)
"Copying other columns to new sheet
wssrc.Columns(j).EntireColumn.Copy Destination:=wsdest.Cells(1, x)
x = x + 1
Next j
i = i + col - 1
Next i
Else
End If
resetsettings:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Este código dividirá las columnas y las pegará en hojas nuevas.


-2 para la respuesta № 2

No está claro para mí lo que necesita, una macro? SE no es un servicio de codificación. Por favor, intente freelancer.com o fuentes similares para esto.

Si quieres una solución rápida y sucia: graba tu tarea manual para dividir esta tabla como macro. Entonces puede ejecutarlo varias veces si lo necesita. Si no sabe cómo hacerlo manualmente, deje un comentario, se lo explicaré entonces.