I have finally got round to solving the problem with your assistance. I used the
following VBA code to generate 3 equal sized columns from a long list (one column).
Option Explicit
Sub Generate_Bagman_List()
'
' Clear_"Bagman"_Contents Macro
'
Sheets("Bagman").Select
Columns("A:I").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
' Copy_"Members"_To_"Bagman" Macro
'
Sheets("Members").Select
Range("C3", Range("B3").End(xlDown)).Select
Selection.Copy
Range("A1").Select
Sheets("Bagman").Select
Columns("A:B").Select
ActiveSheet.Paste
Range("A1").Select
' Convert One Pair of Columns to Three Pairs of Columns
Dim lngR As Long
Dim lngC As Long
Dim lngHeaderRow As Long
Dim strCol As String
lngHeaderRow = 1
strCol = "A"
With Sheet14
lngR = .Cells(.Rows.Count, strCol).End(xlUp).Row - lngHeaderRow
lngC = .Cells(lngHeaderRow, .Columns.Count).End(xlToLeft).CurrentRegion.Columns.Count
'Copy headers
.Cells(lngHeaderRow, strCol).Resize(1, lngC).Copy .Cells(lngHeaderRow, strCol).Offset(0, lngC + 1)
.Cells(lngHeaderRow, strCol).Resize(1, lngC).Copy .Cells(lngHeaderRow, strCol).Offset(0, 2 * lngC + 2)
'Move data
.Cells(lngHeaderRow, strCol).Offset(1 + 2 * (lngR \ 3) + lngR Mod 3, 0).Resize(lngR \ 3, lngC).Cut .Cells(lngHeaderRow, strCol).Offset(1, 2 * lngC + 2)
.Cells(lngHeaderRow, strCol).Offset(1 + lngR \ 3 + IIf(lngR Mod 3 >= 1, 1, 0), 0).Resize(lngR \ 3 + IIf(lngR Mod 3 >= 1, 1, 0), lngC).Cut .Cells(lngHeaderRow, strCol).Offset(1, lngC + 1)
End With
Cells.EntireColumn.AutoFit
'
' Format_"Bagman" Macro
'
Columns("A:A").Select
Range("A13").Activate
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.SmallScroll Down:=-48
Rows("1:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B:B,E:E,H:H").Select
Range("H1").Activate
Selection.ColumnWidth = 25
Range("C:C,F:F").Select
Range("F1").Activate
Application.Width = 988.5
Application.Height = 785.25
Range("C:C,F:F,I:I").Select
Range("I1").Activate
Selection.ColumnWidth = 8
Range("A:A,D:D,G:G").Select
Range("G1").Activate
Selection.ColumnWidth = 5
Range("B1").Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "VETS SECTION MEMBERSHIP - 2017"
Range("G1").Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Updated: " & Date
Range("B3").Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Vets membership showing who has paid 2017 subs (bagman to collect £10 subs from those who have not paid)."
Range("A1").Select
End Sub
Bookmarks