您好我有2个ListBox(Purchase_Select_Debtor)&具有txtBox for Price(txtPrice)的Userform上的(Purchase_Select_Quantity)。
“守则”使用“索引和匹配”返回基于债务人和所选数量的结果。
下面是我当前的代码,它工作正常,但每次我添加一个新的Debtor时,我必须改变代码来改变物理范围。
我想使用动态命名范围进行设置,因此当我添加新债务时,索引/匹配功能仍将返回结果。
Temp = Application.Index(Sheets("Price_list").Range("A1:I22"), _
Application.Match(Purchase_Select_Debtor.Value, Sheets("Price_list").Range("A1:A22"), 0), _
Application.Match(Purchase_Select_Quantity.Value, Sheets("Price_list").Range("A1:I1"), 0))
txtPrice.Value = FormatCurrency(Expression:=Temp, _
NumDigitsAfterDecimal:=2)
我尝试了这个,但它没有用;键入Missmatch运行时错误13
Temp = Application.Index(Range("Price_list_Table"), _
Application.Match(Purchase_Select_Debtor.Value, Range("Price_list_Debtor_ADD"), 0), _
Application.Match(Purchase_Select_Quantity.Value, Range("Price_list_Quantity_ADD"), 0))
txtPrice.Value = FormatCurrency(Expression:=Temp, _
NumDigitsAfterDecimal:=2)
调试器突出显示这两行代码;
txtPrice.Value = FormatCurrency(Expression:=Temp, _
NumDigitsAfterDecimal:=2)
Temp的值=“”
它用作参考的图表是这样的;
http://i19.photobucket.com/albums/b152/mantricorb/Chart.jpg
动态命名范围如下;
Price_list_Table = OFFSET(PRICE_LIST $ A $ 1,0,0,COUNTA(PRICE_LIST $ A:!$ A),9)
Price_list_Debtor_ADD = OFFSET(PRICE_LIST $ A $ 1,0,0,COUNTA(PRICE_LIST $ A:!$ A),1)
Price_list_Quantity_ADD = OFFSET(PRICE_LIST $ A $ 1:$ I $ 1,0,0)
我认为动态命名范围有问题,因为它不会返回结果,任何帮助都会非常感激。
答案 0 :(得分:1)
詹姆斯
这假设您在A列中有一个标题和至少一行数据,并且动态范围只有一列宽:
=OFFSET(Price_list!$A$1,1,0):OFFSET(Price_list!$A$1,COUNTA(Price_list!$A:$A)-1,0)