Excel VBA:根据搜索设置单元格值

时间:2014-07-13 20:52:36

标签: excel vba

我试图按如下方式设置ActiveCell的值:

  • 我需要查看活动单元格上方一行的单元格值(在同一列中)
  • 然后,我需要在“来源 - 问题”的第3列中找到此值。片;我需要从底部开始搜索,因为我需要找到此值的最后一个实例
  • 当我找到这个单元格时,我需要获取位于找到的单元格下面的下一个单元格的值(在同一列中)

这是我的代码,我得到一个例外而没有任何有用的信息。

ActiveCell.Value = Cells.Find(What:=ActiveCell.Offset(-1, 0).Value, 
After:=Sheets("Source - Questions").Cell(1000, 3), LookIn:=xlFormulas, 
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, 
MatchCase:=False, SearchFormat:=False).Offset(1, 0).Value

任何帮助都将不胜感激。

干杯

1 个答案:

答案 0 :(得分:1)

纠正两个小错误:

Sub asdf()
    Dim r As Range, s As Worksheet, v As Variant
    Set s = Sheets("Source - Questions")
    v = ActiveCell.Offset(-1, 0).Value
    Set r = s.Cells.Find(What:=v, _
        After:=s.Cells(1000, 3), _
        LookIn:=xlFormulas, _
        LookAt:=xlPart, _
        SearchOrder:=xlByRows, _
        SearchDirection:=xlPrevious, _
        MatchCase:=False, _
        SearchFormat:=False).Offset(1, 0)
    ActiveCell.Value = r.Value
End Sub