在VBA中遇到有关vlookup函数的问题。VBA窗体 - Vlookup单元格并为该单元格赋值
我有2个组合框和6个文本框供用户输入。我想要使用vlookup(或索引,Match(),Match())在数据表中查找单元格,并将文本框中的值分配给这些单元格。
当我运行我认为应该工作的代码时,它返回对象错误。
Private Sub CommandButton2_Click()
Dim MonthlyTable As Range
Set MonthlyTable = Sheets("DATA Monthly").Range("A6:AE400")
Dim ColumnRef As Range
Set ColumnRef = Sheets("Drivers").Range("N11")
' Assign CB2 value to M11 cell reference so it can be converted to a column ref in N11.
Sheets("Drivers").Range("M11").Value = ComboBox2.Value
Dim CB1Value As String
CB1Value = "Joiners" & ComboBox1.Value
Dim CB2Value As String
CB2Value = ComboBox2.Value
MsgBox CB1Value & " " & CB2Value
Dim tb1value As Range
tb1value = Application.WorksheetFunction.VLookup(CB1Value, MonthlyTable, ColumnRef, False)
tb1value.Value = TextBox1.Value
Unload Me
End Sub
我不知道该怎么做,因为我觉得它应该是这么简单!
在此先感谢。
编辑。进一步的挖掘表明你不能选择一个你正在查看的单元格,因为这个命令只返回一个值,它实际上并没有为我的意图和目的选择单元格。
你错过了'Set'关键字:'设置MonthlyTable = ...' – tigeravatar
即使已返回完全相同的错误命令集。 – Realitybites
你最近的挖掘是正确的。您无法将范围分配给VLookUp的结果。你可能想要使用'Range.Find()'方法。 – PatricK