Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 填充文本框表单组合框_Excel_Vba - Fatal编程技术网

Excel 填充文本框表单组合框

Excel 填充文本框表单组合框,excel,vba,Excel,Vba,我试图从Combobox元素的选择中填充文本框,但是我得到了运行时1004:无法获得WorksheetFunction类的Vlookup属性: 截至目前使用的代码: Private Sub UserForm_Change() Dim GetRange As Range Set GetRange = ActiveWorkbook.Worksheets("Report - Report").Range("I269:I287") Me.ClientComboBox.List = Get

我试图从Combobox元素的选择中填充文本框,但是我得到了运行时1004:无法获得WorksheetFunction类的Vlookup属性:

截至目前使用的代码:

Private Sub UserForm_Change()
Dim GetRange As Range
    Set GetRange = ActiveWorkbook.Worksheets("Report - Report").Range("I269:I287")
    Me.ClientComboBox.List = GetRange.Columns(2).Value
End Sub
Private Sub ClientComboBox_Change()
    Me.TimingTextBox1.Text = Application.WorksheetFunction.VLookup(Me.ClientComboBox.Value, GetRange, 2, False)
     On Error GoTo 0
End Sub
数据表的图像附件=“报告-报告”

提前感谢:)

三个问题:

  • 变量GetRange的作用域不是全局的
  • 必须控制VLOOKUP函数中查找值的类型
  • 使用UserForm_Initialize()而不是UserForm_Change(),除非您特别要求更改UserForm

    
    Private Sub ComboBox1_Change()
        Me.TextBox1.Text = Application.WorksheetFunction.VLookup(CStr(Me.ComboBox1.Value), GetRange, 2, False) ' Control with CDbl(), CStr(), CInt()
    End Sub
    
    Private Sub UserForm_Initialize() 'Change this method
        Set GetRange = ActiveWorkbook.Worksheets("Sheet1").Range("A1:B3")
        Me.ComboBox1.List = GetRange.Columns(1).Value
    End Sub```
    

  • ClientComboBox\u Change
    中,您引用了
    GetRange
    ,但尚未
    设置它。
    UserForm\u Change()