Requirement:
The user is using VBA macros AND would like to copy a column of data from workbook 1 into workbook 2, based on the data it has on row 3, then loop through for the rest of the columns.
For example, the cell on row 3 of column C in 'workbook 1' has text called "U.S. Exports to Argentina of Crude Oil (Thousand Barrels)". The user would like to copy the whole column and paste it in a column of 'workbook 2' whose first row has "Argentina", since both cells have "Argentina".
Solution:
Code:
Sub test() Dim x, xH, c As Range, fn With Workbooks("Workbook 1.xlsx").Sheets("Sheet1") x = .UsedRange.Offset(1).Value xH = .UsedRange.Rows(1).Value End With With ThisWorkbook.Sheets("Sheet1").UsedRange .Offset(1).ClearContents For Each c In .Rows(1).Cells fn = Application.Match("*" & c.Value & "*", xH, 0) If Not IsError(fn) Then c(2).Select ActiveCell.Resize(UBound(x, 1)) = Application.Index(x, 0, fn) End If Next c End With End Sub
Obtained from the OzGrid Help Forum.
Solution provided by graha_karya.
See also: Index to Excel VBA Code and Index to Excel Freebies and Lesson 1 - Excel Fundamentals and Index to how to… providing a range of solutions and Index to new resources and reference sheets
See also:
How to copy the data from sheet 1 and paste the data to sheet 2 each first empty row of each row |
How to copy specific range and paste as picture to another sheet |
How to copy non-blank rows in a range and paste to other sheets |
How to crate a macro for text copy and paste in different worksheets based on a variable in Excel |
Click here to visit our Free 24/7 Excel/VBA Help Forum where there are thousands of posts you can get information from, or you can join the Forum and post your own questions.