Requirement:
The user is trying to copy data from the tab called Data to the tab called Reports using Excel 2013.
The user needs a looping sequence that looks at the table located on the Reports tab. Compares the value in column C of the Reports tab to the data located in Column D of the Data tab. If a match is found, then copy the data from Column G and H of the Data tab to column G and H of the Reports tab.
Solution:
Private Sub CommandButton1_Click() Dim i As Long, j As Long, lastrow1 As Long, lastrow2 As Long Dim Reports_INVNum As String Dim Data_INVNum As String lastrow1 = Sheets("Data").Range("D" & Rows.Count).End(xlUp).Row For i = 5 To lastrow1 Data_INVNum = Sheets("Data").Cells(i, "D").Value lastrow2 = Sheets("Reports").Range("C" & Rows.Count).End(xlUp).Row For j = 5 To lastrow2 If Sheets("Reports").Cells(j, "C").Value = Data_INVNum Then Sheets("Data").Range("H" & i & ":I" & i).Copy Sheets("Reports").Range("G" & j) End If Next j Application.CutCopyMode = False Next i End Sub
Obtained from the OzGrid Help Forum.
Solution provided by Carim.
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 entire row - keeping formulas |
How to cut, copy and insert on a loop |
How to use a macro to copy data from multiple workbooks to one master sheet in another workbook |
How to copy data from multiple workbooks into one |
How to copy the entire sheet and paste as values - running on multiple tabs |
How to list & display all files in user folder, select file and copy specific tab into master sheet |
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.