vba vlookup填充工作表

时间:2017-05-20 20:32:06

标签: excel vba

我有一个带有组合框和提交按钮的用户表单,用户输入用户从下拉到第一个空行的工作表所做的选择。组合框vba工作正常。但是,例如,如果在单元格C2中输入组合框选项(因为第一个空行是2而C总是组合框输入结果的列)我想在D列中有一个VBA中的vlookup公式,基于在C列中自动填充在同一时间列D自动填充的内容D.就像在D列中根据C列中的值向下拖动vlookup公式一样。

这是我到目前为止所做的,但它不起作用。 vlookup部分似乎不起作用。我错过了什么吗?

 With Sheets("TasksData").Range("D2", Sheets("TasksData").Cells      
  (Rows.Count, "D").End(xlUp))
    .Offset(, 1).Formula = "=VLOOKUP(C" & .Row & ",'ValidationTables'!$L:$M,2,FALSE)"
    .Offset(, 1).Value = .Offset(, 1).Value
  End With

enter image description here

1 个答案:

答案 0 :(得分:1)

你的With声明对我来说有点不对劲。你得错了吗?

请改为尝试:

Dim lastRow
With Sheets("TasksData")
    lastRow = .Cells(.Rows.Count, "C").End(xlUp).Row
    With .Range(.Cells(2, 3), .Cells(lastRow, 3))
        .Offset(, 1).FormulaR1C1= "=VLOOKUP(RC[-1],'ValidationTables'!C12:C13,2,FALSE)"
        .Offset(, 1).Value = .Offset(, 1).Value
    End With
End With