我想写一个Vlookup语句

时间:2015-01-15 05:57:00

标签: excel vba vlookup

我想写一个Vlookup语句。我在VBA表单中填充了一系列文本框:

使用frmDragonInfo

.txtInfo6 = Application.Text(WorksheetFunction.VLookup(DrLevel + 1, Range(DrCode), 2), "[hh]:mm")

然后,更新了文本框后,我想点击表单上的cmd按钮再次将其写回:

使用表格("数据列表")

Application.WorksheetFunction.VLookup(DrLevel, Range(DrCode), 2) = txtInfo1.Text

DrLevel是1到100之间的数字& DrCode是' DataList'上的命名范围。片。 这不起作用。我可以写一个Vlookup吗?如果是的话,怎么样?感谢。

2 个答案:

答案 0 :(得分:1)

Dim f As Range

Set f = Sheets("DataList").Range(DrCode).find(DrLevel, lookat:=xlWhole)

If Not f Is Nothing Then
    f.Offset(0,1).Value = txtInfo1.Text
End If

答案 1 :(得分:0)

您不必依赖工作表功能。 VBA拥有自己的Application.Text版本。

.txtInfo6 = Format(WorksheetFunction.VLookup(DrLevel + 1, Range(DrCode), 2), "[hh]:mm")

是否应将(可选) range_lookup 参数设置为 False 以进行完全匹配? (VLOOKUP function

使用.Columns(1)切片Range(DrCode)的第一列并向后看。

dim rw as long
rw = application.match(DrLevel + 1, Range(DrCode).Columns(1), 0)
Range(DrCode).cells(rw, 2) = txtInfo1.Text