【发布时间】:2014-03-28 05:48:52
【问题描述】:
我正在尝试使用索引和匹配工作表函数将用户表单 (ItemNum.value) 中组合框中的项目编号与工作表上的产品列表表 (“产品定价”) 匹配。然后从该工作表(“产品定价”)中提取与同一行匹配的单元格,并将它们复制到输入数据工作表(“查看照明数据”)上的单元格(“i4”)。问题是每次运行宏时都会出现错误“1004 Unable to get the Match Property of the WorksheetFunction class error”
我的代码是:
Private Sub InputLight_Click()
With Sheets("Review Lighting Data")
.Range("i4").Value = Application.WorksheetFunction.Index(Sheets("Product Pricing").Range("c7:c102"), Application.WorksheetFunction.Match(ItemNum.Value, Sheets("Product Pricing").Range("b7:b102"), 0))
End With
End Sub
从那以后,我尝试创建一个新的工作簿来简化事情。到目前为止,这是我的完整代码:
Private Sub inputbutton_Click()
Dim MatchRow As Long
Dim WS0 As Worksheet, WS1 As Worksheet
Dim R0 As Range, R1 As Range
With ThisWorkbook
Set WS0 = .Sheets("Review Lighting Data")
Set WS1 = .Sheets("Product Pricing")
End With
With WS1
Set R0 = WS1.Range("B7:B11")
Set R1 = WS1.Range("C7:C11")
End With
MatchRow = Application.Match(itemnum.Value, R0, 0)
MsgBox MatchRow
End Sub
Private Sub UserForm_Initialize()
With Me.itemnum
.AddItem "1001"
.AddItem "1002"
.AddItem "1003"
.AddItem "1004"
.AddItem "1005"
End With
End Sub
我已经在组合框(itemnum)中输入了项目编号,没有空格或任何内容。我什至尝试删除每个数字周围的 " 标记,但这也不起作用。我尝试将 (MatchRow) 输出到 MsgBox 以尝试捕获错误,但它在它之前就中断了。
【问题讨论】: