agroster, Попробуй еще это. Если нужно первые 10 значений выбрать. Желтая заливка - формулы. В ячейке М2 можешь сделать выпадающий список. Вспомогательная таблица с желтой заливкой может быть на крайних ячейках , которые можно скрыть, чтобы не загромождать поле. В итоговую табличку с десятью значениями добавь поиск на дубликаты в ячейки О6 - О15 и условие, если дубликат, то следующее. А вообще, я заметил, дубликат еще по наименованию, т.к. результат стоит в общих колонках. Лучше сделать его отдельно. В ячейке М2 можно менять категорию, соответственно, меняется список. Кроме автозапчасти, там дубликат. Ложусь спать, поэтому дубликаты не поправил, но тебе подсказку уже дали. Надеюсь, помогли сообща
agroster, Попробуй еще это. Если нужно первые 10 значений выбрать. Желтая заливка - формулы. В ячейке М2 можешь сделать выпадающий список. Вспомогательная таблица с желтой заливкой может быть на крайних ячейках , которые можно скрыть, чтобы не загромождать поле. В итоговую табличку с десятью значениями добавь поиск на дубликаты в ячейки О6 - О15 и условие, если дубликат, то следующее. А вообще, я заметил, дубликат еще по наименованию, т.к. результат стоит в общих колонках. Лучше сделать его отдельно. В ячейке М2 можно менять категорию, соответственно, меняется список. Кроме автозапчасти, там дубликат. Ложусь спать, поэтому дубликаты не поправил, но тебе подсказку уже дали. Надеюсь, помогли сообщаdixus
agroster, Попробуй еще это. Если нужно первые 10 значений выбрать. Желтая заливка - формулы. В ячейке М2 можешь сделать выпадающий список. Вспомогательная таблица с желтой заливкой может быть на крайних ячейках , которые можно скрыть, чтобы не загромождать поле. В итоговую табличку с десятью значениями добавь поиск на дубликаты в ячейки О6 - О15 и условие, если дубликат, то следующее. А вообще, я заметил, дубликат еще по наименованию, т.к. результат стоит в общих колонках. Лучше сделать его отдельно. В ячейке М2 можно менять категорию, соответственно, меняется список. Кроме автозапчасти, там дубликат. Ложусь спать, поэтому дубликаты не поправил, но тебе подсказку уже дали. Надеюсь, помогли сообща
agroster, Попробуй еще это. Если нужно первые 10 значений выбрать. Желтая заливка - формулы. В ячейке М2 можешь сделать выпадающий список. Вспомогательная таблица с желтой заливкой может быть на крайних ячейках , которые можно скрыть, чтобы не загромождать поле. В итоговую табличку с десятью значениями добавь поиск на дубликаты в ячейки О6 - О15 и условие, если дубликат, то следующее. А вообще, я заметил, дубликат еще по наименованию, т.к. результат стоит в общих колонках. Лучше сделать его отдельно. В ячейке М2 можно менять категорию, соответственно, меняется список. Кроме автозапчасти, там дубликат. Ложусь спать, поэтому дубликаты не поправил, но тебе подсказку уже дали. Надеюсь, помогли сообщаdixus
Вариант с ODBC подключением таблица автоматически обновляется при изменении ячейки М2, или ПКМ по таблице>Обновить текст запроса[vba]
Код
SELECT top 10 Материал1 AS Наименование, Материал AS PLU, `Списание без НДС (Итог) (руб)` AS [Потери, руб], cdbl(replace(0&`Списание без НДС (Итог) (%)`,' %',''))/100 AS [Потери от реализации, %] FROM `Лист1$` WHERE (Материал1<>'Результат') AND (Товиерур2=?) ORDER BY `Списание без НДС (Итог) (руб)` DESC
[/vba] плюс макрос для обновления строки подключения в модуле Лист [vba]
Код
Public WithEvents QT As QueryTable Private Sub qt_BeforeRefresh(Cancel As Boolean) QT.Connection = "ODBC;DSN=Excel Files;DriverId=1046;DBQ=" & ThisWorkbook.FullName End Sub
[/vba]в ЭтаКнига[vba]
Код
Private Sub Workbook_Open() Set Лист1.QT = ThisWorkbook.Connections("запрос").Ranges(1).ListObject.QueryTable End Sub
[/vba]
Вариант с ODBC подключением таблица автоматически обновляется при изменении ячейки М2, или ПКМ по таблице>Обновить текст запроса[vba]
Код
SELECT top 10 Материал1 AS Наименование, Материал AS PLU, `Списание без НДС (Итог) (руб)` AS [Потери, руб], cdbl(replace(0&`Списание без НДС (Итог) (%)`,' %',''))/100 AS [Потери от реализации, %] FROM `Лист1$` WHERE (Материал1<>'Результат') AND (Товиерур2=?) ORDER BY `Списание без НДС (Итог) (руб)` DESC
[/vba] плюс макрос для обновления строки подключения в модуле Лист [vba]
Код
Public WithEvents QT As QueryTable Private Sub qt_BeforeRefresh(Cancel As Boolean) QT.Connection = "ODBC;DSN=Excel Files;DriverId=1046;DBQ=" & ThisWorkbook.FullName End Sub
[/vba]в ЭтаКнига[vba]
Код
Private Sub Workbook_Open() Set Лист1.QT = ThisWorkbook.Connections("запрос").Ranges(1).ListObject.QueryTable End Sub