Forum Discussion

Harry1605's avatar
Harry1605
Copper Contributor
Aug 20, 2022
Solved

Copying multiple columns to two

I have 3,216 columns the odd column numbers hold the email address and the even column numbers hold the group name.  I need to copy or merge the details to the first two columns.  How can I do that?  Thanks

  • Harry1605 

    Ah - I interpreted your request incorrectly.

    If you have an insider version of Microsoft 365, there is probably a formula solution.

    It might also be possible to use PowerQuery.

    But here is a macro solution:

    Sub Combine()
        Dim m As Long
        Dim n As Long
        Dim r As Long
        Dim c As Long
        Dim t As Long
        Application.ScreenUpdating = False
        m = Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
        n = Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
        t = Cells(Rows.Count, 1).End(xlUp).Row + 1
        For c = 3 To n Step 2
            m = Cells(Rows.Count, c).End(xlUp).Row
            Cells(t, 1).Resize(m - 3, 2).Value = Cells(4, c).Resize(m - 3, 2).Value
            t = t + m - 3
        Next c
        Application.ScreenUpdating = True
    End Sub

10 Replies

    • Harry1605's avatar
      Harry1605
      Copper Contributor
      Sure Hans

      Column 1, 3, 5, and the odds have email addresses - want to copy 3, 5, and other odd columns to column 1. The end result would be column 1 will have all the email address from the 1,608 odd number columns and the second column would be similar difference being it will hold the group name for the recipient. The relationship is that the two columns next to each other are the email address and its group. Thank you
      • HansVogelaar's avatar
        HansVogelaar
        MVP

        Harry1605 

        Uh - wouldn't that result in ridiculously long values? Cell A1 or A2 would contain more than 1000 email addresses...

Resources