/ / VBA Excel Разделяне на лист всеки n колона - excel, vba, excel-vba, split

VBA Excel Разделете лист на всяка колона n - excel, vba, excel-vba, разделяне

Имам транспонирана таблица с две главиТаблицата се простира прекалено дълго вдясно и искам да мога да разделя тази таблица върху няколко листа на всяка колона "n", като същевременно копирам и двете колони на всеки нов лист. разделяйте само "n" редове, докато искам да разделя всяка колона "n".

Трудно ми е да обясня товатекст, така че прикачвам екрани: В този пример първият лист съдържа оригиналните данни, а следващите листове съдържат намерения резултат на макроса, където листът се разделя на две колони:

въведете описанието на изображението туквъведете описанието на изображението туквъведете описанието на изображението туквъведете описанието на изображението тук

Отговори:

2 за отговор № 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

Този код ще раздели колоните и ще ги постави в нови листове.


-2 за отговор № 2

Не ми е ясно какво ви трябва, макро? SE не е кодиращ сервиз. Моля, опитайте freelancer.com или подобни източници за това.

Ако искате бързо и грубо решение: запишете ръчната си задача, за да разделите тази таблица като макрос. След това можете да го стартирате, ако имате нужда от него. Ако не знаете как да направите това ръчно, оставете коментар, ще ви обясня тогава.