VBA Copy Columns Based on Header matching

Status
Not open for further replies.

marcorui

New Member
Joined
Nov 12, 2020
Messages
2
Office Version
  1. 365
Platform
  1. Windows
Hi, please help as I am very new beginner to VBA.

I need to copy and paste some data from Sheet 1 to Sheet 2.

The data are scattered and irregular through out the entire workbook. Now I want to find out how to copy the entire column to the new sheet based on the header.

Please help and thank you in advance!
 

Attachments

  • Pic3.jpg
    Pic3.jpg
    126 KB · Views: 777

Excel Facts

Will the fill handle fill 1, 2, 3?
Yes! Type 1 in a cell. Hold down Ctrl while you drag the fill handle.
VBA Code:
Sub Copy_Columns()
    Dim vHeader As Variant, rngFound As Range, i As Long
    For Each vHeader In Array("District", "Address", "Contact Person")
        Set rngFound = Sheets(1).Cells.Find(vHeader, , xlValues, xlWhole, 1, 1, 0)
        i = i + 1
        If Not rngFound Is Nothing Then
            Range(rngFound, rngFound.End(xlDown)).Copy Destination:=Sheets(2).Cells(1, i)
        End If
    Next
    Sheets(2).Select
    Columns.AutoFit
End Sub
 
Upvote 0
AlphaFrog, Thank you very much, that works perfectly and it is solved now.
 
Upvote 0
VBA Code:
Sub Copy_Columns()
    Dim vHeader As Variant, rngFound As Range, i As Long
    For Each vHeader In Array("District", "Address", "Contact Person")
        Set rngFound = Sheets(1).Cells.Find(vHeader, , xlValues, xlWhole, 1, 1, 0)
        i = i + 1
        If Not rngFound Is Nothing Then
            Range(rngFound, rngFound.End(xlDown)).Copy Destination:=Sheets(2).Cells(1, i)
        End If
    Next
    Sheets(2).Select
    Columns.AutoFit
End Sub
Awesome alphafrog. I am looking for exact same operation but with little twist. I have to perform same task between two workbooks i.e. source.xlsx and target.xlsx
 
Upvote 0
I am looking for exact same operation but with little twist. I have to perform same task between two workbooks i.e. source.xlsx and target.xlsx
Duplicate to: import specific columns from one workbook to another from matching header with vba

In future, please do not post the same question multiple times. Per Forum Rules (#12), posts of a duplicate nature will be locked or deleted.

In relation to your question here, I have closed this thread so please continue in the linked thread. If you do not receive a response, you can "bump" it by replying to it yourself, though we advise you to wait 24 hours before doing so, and not to bump a thread more than once a day.
 
Upvote 0
Status
Not open for further replies.

Forum statistics

Threads
1,223,532
Messages
6,172,867
Members
452,486
Latest member
standw01

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top