需要将excel值替换为另一个工作表中的另一个值

时间:2014-02-12 15:35:58

标签: excel vba excel-vba

需要将excel值替换为另一个工作表中的其他值。有些值不需要替换,所以我需要一个公式或代码来识别它。两张纸的顺序不同。对于前者 列“通过Alt_rep划分”(6)是要替换的更新值(200 +行) 第2页“通过Alt_rep划分”(14000 +行)

1 个答案:

答案 0 :(得分:0)

我认为将.Find.Offset数据从其他工作表复制到当前工作表:

Dim t_val as Variant

t_val = other_sheet.Range("A:A").Find(What:="value to lookup", LookIn:=xlValues, _ 
        LookAt:=xlWhole, MatchCase:=True).Offset(0, 2)

current_sheet.Range("G:G").Find(What:="value to lookup", LookIn:=xlValues, _
        LookAt:=xlWhole, MatchCase:=True).Offset(0, 6) = t_val

我不得不将变量用于不同的宏,并且可以在没有它的情况下完成......但这是我认为应该工作的吗?除非不需要偏移,否则偏移量需要与您希望数据的位置重合。在这种情况下,你可以把它拿出来,然后你需要的只是:

other_sheet.Range("A:A").Find(What:="value to lookup", LookIn:=xlValues, _
       LookAt:=xlWhole, MatchCase:=True).copy _ 
       destination:= current_sheet.Range("G:G").Find(What:="value to lookup", _ 
       LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)