Привет, у меня есть 2 ListBox (Purchase_Select_Debtor) & (Purchase_Select_Quantity) в пользовательской форме с txtBox для цены (txtPrice).
Код использует индекс и соответствие для возврата результата на основе выбранных должника и количества.
Ниже приведен мой текущий код, который отлично работает, но каждый раз, когда я добавляю нового должника, мне приходится изменять код, чтобы изменить физический диапазон.
Я бы хотел настроить его с помощью динамических именованных диапазонов, чтобы при добавлении новых должников функция индекса / соответствия все равно возвращала результат.
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)
Я попробовал это, но это не сработало; Тип Несоответствие Время выполнения Ошибка 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)
Отладчик выделяет эти 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)
Я полагаю, что с динамическими именованными диапазонами что-то не так, поскольку он не возвращает результат, любая помощь будет высоко оценена.