' Suppose the key in in column A. Change 1 to 2 if it is in column B, 3 if C... Key = ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow, 1)
' Suppose the variable to be pasted in sheet2 is in column C. Change 3 to 4 if it is in column D,... VarToTransfer = ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow, 3)
' Search the first 100000 records in sheet 2. If you have more records than this, change this number. For i = 1 To 100000 ' Suppose the key is stored in column A in sheet 2. Change 1 to 2 if it is in column B, ... If ActiveWorkbook.Sheets("Sheet2").Cells(i, 1) = Key Then
' If it matches the current key, paste the variable in column c. ActiveWorkbook.Sheets("Sheet2").Cells(i, 3) = VarToTransfer ' Move to the next row in sheet 1. ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow + 1, 1).Select
' In column j of sheet 1, show the progress. ' WARNING: column j will be overwritten. Change 10 to other numbers if there are data in column j. ' Delete column j before each batch of operations. ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow, 10) = "Done" Exit For End If Next
' Suppose the key in in column A. Change 1 to 2 if it is in column B, 3 if C... Key = ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow, 1)
' Suppose the variable to be pasted in sheet2 is in column C. Change 3 to 4 if it is in column D,... VarToTransfer = ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow, 3)
' Search the first 100000 records in sheet 2. If you have more records than this, change this number. For i = 1 To 100000 ' Suppose the key is stored in column A in sheet 2. Change 1 to 2 if it is in column B, ... If ActiveWorkbook.Sheets("Sheet2").Cells(i, 1) = Key Then
' If it matches the current key, paste the variable in column c. ActiveWorkbook.Sheets("Sheet2").Cells(i, 3) = VarToTransfer ' Move to the next row in sheet 1. ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow + 1, 1).Select
' In column j of sheet 1, show the progress. ' WARNING: column j will be overwritten. Change 10 to other numbers if there are data in column j. ' Delete column j before each batch of operations. ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow, 10) = "Done" Exit For End If Next
我好像看明白楼主的意思了,如果我没理解错的话,很简单的嘛。 楼主的意思是这样吗? SHEET 1 A B C 1 30 496 2 34 512 3 31 500 4 33 508 5 32 504 SHEET 2 A B C 1 30 a 496 2 31 b 500 3 32 c 504 4 33 d 508 5 34 e 512 楼主是不是想说比如在sheet1中A2输入34,C2输入512,那么sheet2中A5值是34,那么 C5的值就应该是512。 你在sheet2的C列用这个公式: =INDEX(Sheet1!$C$1:$C$5,MATCH(A1,Sheet1!$A$1:$A$5)) EDIT: 为了配合楼主的例子换sheet1和2的顺序。