Страницы: 1
RSS
VBA Выбор не уникальных значений
 
Добрый день. Есть база данных формирующаяся при помощи формы. № в данной базе заполняется из текстбокса и не обязательно уникален. Задача сформировать условие "если" для первого из неуникального номера.
Пример:
1... Содержание.... Стоимость
2... Содержание.... Стоимость
1... Содержание.... 0
1... Содержание.... 0
2... Содержание.... 0
3... Содержание.... Стоимость..
и т.д. т.е. для каждого первого (в первый раз встречающегося) номера должна выскакивать стоимость, для всех остальных неуникальных номеров стоимость равна нулю. (стоимости берутся с другого листа и определяются содержанием)
Изменено: Ирина Бо - 28.12.2012 14:46:34
 
нечто подобное уже писал. Приложите файл с примером - по памяти попробую восстановить формулу.
Учимся сами и помогаем другим...
 
Вроде того:
=ЕСЛИ(СЧЁТЕСЛИ($A$1:A1;A1)=1;ВПР(A1;$F$1:$G$7;2;0);0)

В столбце А - критерии(Содержание), в В - вышенаписанная формула.
В диапазоне $F$1:$G$7 - таблица соответствия Содержания и Стоимости.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Формулой я знаю как, А как это все в vba запихнуть? Базу заполняет "девочка-дурочка" и мне не нужны формулы в базе.
Изменено: Ирина Бо - 28.12.2012 15:35:23
 
И куда же надо писать стоимость? По какому "содержанию" искать? И где? Ирина - мы понимаем, что Вы знаете как работать с Вашей формой и что там к чему. Но мы лишены этой радости, а сидеть и разбирать все Ваши коды и угадывать где Вы хотите видеть проверку что-то не хочется.
В общем полгаю додумаете куда это воткнуть:
Код
If Application.CountIf(Range("A1:A" & ActiveCell.Row), Range("A" & ActiveCell.Row)) > 1 Then
    'пишем нуль вместо суммы
Else
    'ищем сумму
End If
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Из листа2 нужно брать стоимость транспортных расходов и вставлять их в лист1 столбец "Транспортные" при условии что № - первый из всех возможных дальше. Код АЗС, естественно, при этом равен наименованию (ступила, не поменяла номера столбцов).
Если в данном примере, то в Ф2 (лист1) должно попадать 2190, в Ф3 - 0, в Ф4 - 2190, Ф5 - 920, Ф5 - 0
 
Увяжите сначала данные на двух листах между собой, а потом уж и макрос просИте...
 
На словарях и массивах.
Не вполне понял условия - сделал как понял.
Изменено: Hugo - 29.12.2012 01:15:49
Страницы: 1
Наверх