从我的组合框(cboCo)中选择一个名称后,尝试填充文本框。在第四行代码中获取错误method range of object'_worksheet' failed
。
我不是一个强大的程序员,VB一直是我的难题。我正在为供应商电子表格创建一个表单,该表单将允许用户查看电子表格中的数据,编辑供应商数据,添加新数据以及根据需要删除数据。到目前为止,我已经可以添加数据并在组合框中显示公司名称。我目前正在处理的是使文本框填充组合框中所选公司的行中的数据。
Private Sub cboCo_Change()
Dim iRow As Long, LastRow As Long, ws As Worksheet
Set ws = Worksheets("VendorInfo")
LastRow = ws.Range(1 & Rows.Count).End(x1Up).Row
For iRow = 2 To LastRow
If (Me.cboCo.Value) = ws.Cells(iRow, 1) Then
Me.cboCat = ws.Cells(iRow, 19).Value
Me.cboCat = ws.Cells(iRow, 19).Value
Me.cboYrApprv = ws.Cells(iRow, 14).Value
Me.txtContact = ws.Cells(iRow, 2).Value
Me.txtPhone = ws.Cells(iRow, 3).Value
Me.txtEmail = ws.Cells(iRow, 4).Value
Me.txtCoAdd = ws.Cells(iRow, 5).Value
Me.txtWebSite = ws.Cells(iRow, 6).Value
Me.txtAccred = ws.Cells(iRow, 8).Value
Me.txtStanding = ws.Cells(iRow, 9).Value
Me.txtSince = ws.Cells(iRow, 10).Value
Me.txtNotes = ws.Cells(iRow, 11).Value
Me.txtVerified = ws.Cells(iRow, 12).Value
Me.txtToday = ws.Cells(iRow, 13).Value
Me.txtServProd = ws.Cells(iRow, 7).Value
Me.txtApprvBy = ws.Cells(iRow, 15).Value
Me.txtAprvReas = ws.Cells(iRow, 16).Value
Me.txtOrder = ws.Cells(iRow, 17).Value
Me.txtPurchs = ws.Cells(iRow, 18).Value
End If
Next iRow
End Sub
当我从cboCo组合框中选择一家公司时,在第四行出现method range of object'_worksheet' failed
错误(从循环上方的LastRow开始)
答案 0 :(得分:0)
您打错了Range()
。试试这个:
LastRow = ws.Cells(1, Rows.Count).End(xlUp).Row
或
LastRow = ws.Range("A" & rows.count).End(xlUp).Row
最初,它基本上解析为ws.Range(1 & 1048576)...
-> ws.Range(11048576).End(xlUp).Row
,其中A)不是正确的Range
,而B)是不存在的行号。>
另外,请注意,它是xlUp
,而不是x1Up
(它是“ L”,而不是“ 1”)