Всем привет. Может кто поможет? По 100 раз в день пользуюсь данным файлом (работаю в аптеке) проверяю цены на ЛС. Поиск осуществляю по штрих коду (колонка А). Через встроенный фильтр не удобно. Может можно написать макрос, который заменял поиск нужного штрих кода, и выводил информацию как при фильтрации? Буду признателен.
Всем привет. Может кто поможет? По 100 раз в день пользуюсь данным файлом (работаю в аптеке) проверяю цены на ЛС. Поиск осуществляю по штрих коду (колонка А). Через встроенный фильтр не удобно. Может можно написать макрос, который заменял поиск нужного штрих кода, и выводил информацию как при фильтрации? Буду признателен.Mark1976
Можно всё. Но что делать-то нужно? Конкретно, что куда вводим и какой должен быть результат? Можно сделать форму, в которую Вы вбиваете код и она Вам выдаёт... Что выдаёт?
Можно всё. Но что делать-то нужно? Конкретно, что куда вводим и какой должен быть результат? Можно сделать форму, в которую Вы вбиваете код и она Вам выдаёт... Что выдаёт?StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Option Explicit Sub tt() On Error Resume Next Dim I I = InputBox("Введите штрихкод") If I = "" Then Exit Sub With Range("Лист_1") .AutoFilter Field:=1, Criteria1:="*" .AutoFilter Field:=1, Criteria1:=I End With End Sub
[/vba] P.S. А вывод синонимов по МНН нужен? UPD Вроде работает (по штрих-коду фильтрует еще и аналоги) [vba]
Код
Sub tt() Application.ScreenUpdating = False On Error Resume Next Dim I, S As String, L As Long I = InputBox("Введите штрихкод") If I = "" Then Exit Sub With Range("Лист_1") L = WorksheetFunction.Match(I, .Columns(1), 0) If Err Then Exit Sub .AutoFilter Field:=2, Criteria1:="*" .AutoFilter Field:=2, Criteria1:=.Cells(L, 2) End With Application.ScreenUpdating = True End Sub
[/vba]
Можно так, например[vba]
Код
Option Explicit Sub tt() On Error Resume Next Dim I I = InputBox("Введите штрихкод") If I = "" Then Exit Sub With Range("Лист_1") .AutoFilter Field:=1, Criteria1:="*" .AutoFilter Field:=1, Criteria1:=I End With End Sub
[/vba] P.S. А вывод синонимов по МНН нужен? UPD Вроде работает (по штрих-коду фильтрует еще и аналоги) [vba]
Код
Sub tt() Application.ScreenUpdating = False On Error Resume Next Dim I, S As String, L As Long I = InputBox("Введите штрихкод") If I = "" Then Exit Sub With Range("Лист_1") L = WorksheetFunction.Match(I, .Columns(1), 0) If Err Then Exit Sub .AutoFilter Field:=2, Criteria1:="*" .AutoFilter Field:=2, Criteria1:=.Cells(L, 2) End With Application.ScreenUpdating = True End Sub
МВТ, отлично. Спасибо. Вот только чет не пойму как его (макрос) корректно сохранить в книгу Персональ. Вывод ножен еще по колонке:Торговое наименование лекарственного препарата. МНН можно не использовать.
МВТ, отлично. Спасибо. Вот только чет не пойму как его (макрос) корректно сохранить в книгу Персональ. Вывод ножен еще по колонке:Торговое наименование лекарственного препарата. МНН можно не использовать.Mark1976
1. А почему его нельзя сохранить в рабочем файле? Если в персональной книге макросов, попробуйте так: With ActiveWorkbook.ActiveSheet.Range("Лист_1") 2. По торговому, так по торговому, но по МНН - правильнее, сами знаете, под одним МНН могут быть десятки торговых. Просто замените 2 на 3: [vba]
[/vba] P.S. алаверды: у Вас случайно нет файлика с латинскими названиями по МНН? В РЛС почему-то латинских названий нет
1. А почему его нельзя сохранить в рабочем файле? Если в персональной книге макросов, попробуйте так: With ActiveWorkbook.ActiveSheet.Range("Лист_1") 2. По торговому, так по торговому, но по МНН - правильнее, сами знаете, под одним МНН могут быть десятки торговых. Просто замените 2 на 3: [vba]