Reputation: 53
I need a suggestion. I have ~50 tables which are pasted one after another in one Excel sheet and I need to copy data from particular cell and paste to another workbook to another cell.
Now I'm using VBA to achieve this:
Assign value from cell to "number" number = data.Cells(500, "E").Value
and then assign "number" to other cell result.Cells(3, "D") = number
.
I need to do it with every table and now I'm just use the row number and column letter to determine the value. Here is an example how my tables looks like:
And my VBA code:
number_e = data.Cells(80, "E").Value
result.Cells(8, "D") = number_e
number_j = data.Cells(80, "L").Value
result.Cells(9, "D") = number_j
number_n = data.Cells(80, "P").Value
result.Cells(10, "D") = number_n
number_e = data.Cells(500, "E").Value
result.Cells(3, "D") = number_e
number_j = data.Cells(500, "J").Value
result.Cells(4, "D") = number_j
number_n = data.Cells(500, "N").Value
result.Cells(5, "D") = number_n
<...>
number_e = data.Cells(4385, "E").Value
result.Cells(242, "D") = number_e
number_j = data.Cells(4385, "L").Value
result.Cells(243, "D") = number_j
number_n = data.Cells(4385, "P").Value
result.Cells(244, "D") = number_n
In some tables the desired values are in different columns.
I believe there is more rational way to do this... Also I'm using values from one table one row but need to use more values from other rows and I don't want to go through writing every row number again...
Maybe I should convert data to tables and use references but I'm not sure if that can help.
Thank you for any suggestions.
Upvotes: 0
Views: 938
Reputation: 1078
' Checking number of records
rCount = data.Cells(.Rows.Count, 1).Row
' Copying the data
for i=1 to rCount
result.Cells(Cells(.Rows.Count,4).End(xlUp).row+1,4).value = data.cells(i,5).Value
result.Cells(Cells(.Rows.Count,4).End(xlUp).row+1,4).value = data.cells(i,10).Value
result.Cells(Cells(.Rows.Count,4).End(xlUp).row+1,4).value = data.cells(i,14).Value
next i
Upvotes: 1