我想写一个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吗?如果是的话,怎么样?感谢。
答案 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