Hi all,
I have the below code which I am trying to use to update data from one sheet to another. The problem is that the location of the relevant columns in the destination file is dynamic and changes (though the name remains the same).
Could we find something which can remove the restriction of the below colored columns. These columns may not necessarily be in location provided in the code.
Thanks.
Sub myUpdate()
'The name of the input worksheet.
inputSheet = "Source File"
'The name of the output worksheet.
outputSheet = "Destination File"
PO_Number_Column_inputSheet = "A"
Part_Number_Column_inputSheet = "B"
Status_Column_inputSheet = "C"
Quantity_Column_inputSheet = "D"
PO_Number_Column_outputSheet = "B"
Part_Number_Column_outputSheet = "E"
Status_Column_outputSheet = "AA"
Quantity_Column_outputSheet = "AC"
'The first row with data in it, not including headers, in the input worksheet.
firstRow_inputSheet = 2
'The last row with data is found using the PO Number column A in the input sheet.
lastRow_inputSheet = Sheets(inputSheet).Range(PO_Number_Column_inputSheet & Rows.Count).End(xlUp).Row
'The first row with data in it, not including headers, in the output worksheet.
firstRow_outputSheet = 2
'The last row with data is found using the PO Number column B in the output sheet.
lastRow_outputSheet = Sheets(outputSheet).Range(PO_Number_Column_outputSheet & Rows.Count).End(xlUp).Row
R_input = firstRow_inputSheet
Do Until R_input > lastRow_inputSheet
PO_Number_Value_inputSheet = Sheets(inputSheet).Range(PO_Number_Column_inputSheet & R_input).Value
Part_Number_Value_inputSheet = Sheets(inputSheet).Range(Part_Number_Column_inputSheet & R_input).Value
Status_Value_inputSheet = Sheets(inputSheet).Range(Status_Column_inputSheet & R_input).Value
Quantity_Value_inputSheet = Sheets(inputSheet).Range(Quantity_Column_inputSheet & R_input).Value
R_output = firstRow_outputSheet
Do Until R_output > lastRow_outputSheet
PO_Number_Value_outputSheet = Sheets(outputSheet).Range(PO_Number_Column_outputSheet & R_output).Value
Part_Number_Value_outputSheet = Sheets(outputSheet).Range(Part_Number_Column_outputSheet & R_output).Value
If PO_Number_Value_inputSheet = PO_Number_Value_outputSheet _
And Part_Number_Value_inputSheet = Part_Number_Value_outputSheet Then
Sheets(outputSheet).Range(Status_Column_outputSheet & R_output).Value = Status_Value_inputSheet
Sheets(outputSheet).Range(Quantity_Column_outputSheet & R_output).Value = Quantity_Value_inputSheet
Exit Do
End If
R_output = R_output + 1
Loop
R_input = R_input + 1
Loop
End Sub
Bookmarks