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:
Respuestas
2 para la respuesta № 1Sub 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.