I think this will help you
Sub CopyCol()
Dim LastCol As Long
Dim x As Long, WSCount
Dim ColStr(1 To 2) As String
LastCol = Worksheets("Sheet1").Range("A1").SpecialCells(xlCellTypeLastCell).Column '10
ColNums = Int(LastCol / 3) '3
WSCount = Worksheets.Count
For x = 1 To ColNums '1,2,3
If x = ColNums Then 'Last may have more or less columns than 3
ColStr(2) = String(1, LastCol + 64)
Else
ColStr(2) = String(1, 3 * x + 64)
End If
ColStr(1) = String(1, 3 * x - 2 + 64)
Sheets.Add After:=Worksheets(WSCount + x - 1)
Worksheets(WSCount + x).Name = ColStr(1) & "-" & ColStr(2)
Worksheets("Sheet1").Columns(ColStr(1) & ":" & ColStr(2)).Copy
Sheets(WSCount + x).Paste Destination:=Worksheets(WSCount + x).Range("A1")
Next x
Application.CutCopyMode = False
End Sub
Note that the Source data is on "Sheet1"
New Sheets will be added to the WB.
Bookmarks