Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Много зависимых выпадающих списков
 
Ребят, есть зависимые выпадающие списки, делал вот по этой статье. Всё классно всё работает.
Но теперь мне нужно их расплодить, соответственно если я дублирую первый блок списков, то у меня второй и берёт значение с первого, это можно как то решить!? чтобы не засорять диспетчер имён сотней записей?

Эта сама формула, которая помещаеться в диспетчер имён:
=СМЕЩ($A$1;ПОИСКПОЗ($G$7;$A:$A;0)-1;1;СЧЁТЕСЛИ($A:$A;$G$7);1)

Наглядно по пробую объяснить:
Список1 Toyota
Список2 Altezza

Теперь делаю для второго сотрудника:
Список1 Honda
Список2 Вот тут у меня появляются только Toyota потому что в диспетчере имён была привязка именно к первой ячейке($G$7)
Изменено: viton-zizu - 4 Ноя 2016 13:46:23
VBA Как оптимизировать код для большого числа строк?, работа с большими данными
 
Ребят, подскажите, есть код который исправно работает на 100 и 1000 записей, ставлю реестр в 70000, виснет на долгое время, что в принципе логично.
Берем 3 столбца в таблице, запускаем цикл по всем записям и смотрим если такие же столбцы уже есть выше по списку то ставим 0, если это уникальное сочитание столбцов то ставим 1.
Соответственно получается, что чем дальше он вниз по списку идет, тем больше ему приходится перемалывать записей. Что тут можно придумать?
Код
Sub √руппировка_продуктов_за_мес€ц()
Dim id As String
Dim product As String
Dim mouth As String

Dim idCheck As String
Dim productCheck As String
Dim mouthCheck As String

Dim arrayId As Variant
Dim arrayProduct As Variant
Dim arrayMouth As Variant

SheetName = "list1"

lastRow = Sheets(SheetName).Cells(Rows.Count, "U").End(xlUp).Row

arrayId = Range("U2:U" & lastRow).Value
arrayProduct = Range("DU2:DU" & lastRow).Value
arrayMouth = Range("EI2:EI" & lastRow).Value

For i = 1 To lastRow - 1
    id = arrayId(i, 1)
    product = arrayProduct(i, 1)
    mouth = arrayMouth(i, 1)
    Sheets(SheetName).Cells(i + 1, "EJ").Value = 1

    For j = 1 To i - 1
        idCheck = arrayId(j, 1)
        productCheck = arrayProduct(j, 1)
        mouthCheck = arrayMouth(j, 1)
        If (id = idCheck AND product=productCheck AND mouth = nouthCheck) Then
            Sheets(SheetName).Cells(i + 1, "EJ").Value = 0
            Exit For
        End If
    Next

Next

End Sub
EXCEL VBA файл с электронной подписью,
 
Ребят, кто-нибудь работал с ЭП в эксель? мне нужно открыть файл и в конце его подписать, какой эп был подписан этот файл. Начал искать методы для работы с ЭП, ничего вменяемого не нашел, разве что VBASign который проверяет, подписан или нет, и возвращает true/false. Кто нибудь в курсе как можно ещё какую нибудь инфу о подписи выдернуть?
Сохранение листа как docx
 
Ребят, есть документ в Excel сохраненный, как можно этот лист теперь сохранить в word? интересует также, как это можно сделать через vba?
VBA Максимальное число ячеек в Range, вопрос по vba
 
Ребят, подскажите пожалуйста, есть ли лимит количества значений хранящихся в Range
У меня есть такой:
tmp="$A$1,$A$13,$A$18,$A$24,$A$34,$A$40"
Range(tmp)

Если у меня там 45 значений он нормально отрабатывает, допустим Range(tmp).Select, а если 50 то на функции Range(tmp).Select вылетает ошибка 1004, ничего понять не могу...
Можно ли указать диапазон значений в критерий функции СУММЕСЛИ, вопрос
 
Ребят, не могу разобраться, подскажите, можно ли указать диапазон значений в критерий функции СУММЕСЛИ или СУММЕСЛИМН!?
1 10
2 20
3 30
4 40
5 50
Диапазон:(1,2)
Нужно Суммировать второй столбец (10+20) Если в первом столбце значение  1 или 2. В реальном примере каонечно не 1 и 2, там диапазон намного больше. Вот мне и надо чтобы функция сравнила, попадает ли значение из первого столбца в заданный диапазон?
Изменено: viton-zizu - 18 Фев 2015 06:17:47
Страницы: 1
Наверх