Combining Multiple Columns into one column without any blank cells

mdesroc

New Member
Joined
Dec 8, 2012
Messages
18
I need to be able to combine 3 columns with ranges that may change into one column without any blank cells.

For example, I have columns B, C and D filled with data, but the number of cells in each of those columns will change based on user choices other places in the spreadsheet.

Is it possible to combine the data from B, C, D into Column A automatically and if so how would I go about doing that?

Thank you for any help or advice you can offer.
 

Some videos you may like

Excel Facts

Show numbers in thousands?
Use a custom number format of #,##0,K. Each comma after the final 0 will divide the displayed number by another thousand

norulen

Active Member
Joined
Nov 30, 2012
Messages
389
Try this Simple formula
=B2&C2&D2
If this isn what you are looking for let me know your input and output requirement for a sample data
 

mdesroc

New Member
Joined
Dec 8, 2012
Messages
18
Let me clarify a bit, because I think my phrasing was confusing. I want it to list what is in column B first, and then after the last thing from column B, list the first from thing column C, and then after the last thing in Column C, the first thing in column D.
MY issue is, I dont know how to do this when the number of cells in columns B, C and D change based user selections elsewhere in the spreadsheet.
 

norulen

Active Member
Joined
Nov 30, 2012
Messages
389
For the first part my formula should take care of it but i am not clear on this part. I dont understand what you are requirement is. hopefully someone else is able to understand and help you on this
MY issue is, I dont know how to do this when the number of cells in columns B, C and D change based user selections elsewhere in the spreadsheet.
 

VoG

Legend
Joined
Jun 19, 2002
Messages
63,651
Maybe

Code:
Sub test()
Dim LR As Long, i As Long
For i = 2 To 4
    LR = Cells(Rows.Count, i).End(xlUp).Row
    Range(Cells(1, i), Cells(LR, i)).Copy Destination:=Cells(Rows.Count, 1).End(xlUp).Offset(1)
Next i
End Sub
 

mdesroc

New Member
Joined
Dec 8, 2012
Messages
18
Norulen, maybe this will help clarify, I have data in column B, C, and D. The number of entries I have in each column changes. I want column A to look like this automatically

B1
B2
C1
C2
C3
D1
D2
 

norulen

Active Member
Joined
Nov 30, 2012
Messages
389
May not be the shortest of the code but i am sure it ll work for you. (Assumption: First row of the sheet is header hence first row will not get copied. If required change B2,C2,D2 to B1,C1,D1
Code:
Sub Macro1()
rcB = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row
rcC = ActiveSheet.Cells(Rows.Count, "C").End(xlUp).Row
rcD = ActiveSheet.Cells(Rows.Count, "D").End(xlUp).Row
    
    Range("B2", "B" & rcB).Copy
    Range("A2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C2", "C" & rcC).Copy
    Range("A" & ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("D2", "D" & rcD).Copy
    Range("A" & ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
End Sub
 

mdesroc

New Member
Joined
Dec 8, 2012
Messages
18
Norulen,

It definitely copied all 3 columns, except it started the values from column C at cell A500 and column D at cell A1000 with a bunch of blanks in-between. Any way to fix that?
 

mdesroc

New Member
Joined
Dec 8, 2012
Messages
18
I copied his macro code exactly as it was listed in his post. Is there something else I need to add?
 

Watch MrExcel Video

Forum statistics

Threads
1,096,186
Messages
5,448,857
Members
405,534
Latest member
paddybear

This Week's Hot Topics

Top