Выбрать дату в календареВыбрать дату в календаре

Страницы: 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 - 04.11.2016 13:46:23
VBA Как оптимизировать код для большого числа строк?, работа с большими данными
 
Цитата
Hugo написал:
1. если используете массивы - зачем перебираете ячейки? Заполняйте тоже через массив.
2. строку с AND перепишите на вложенные if-then, наиболее частое несовпадение есть смысл проверять первым.
Сделал по рекомендациям, время минуты на 2 сократилось! Спасибо! 60000 строк минуты 3 маслает

Думал просто есть принципиально другой подход к решению такой задачи, а не тупым перебором по всем записям, как сделал я :)
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
Сохранение листа как docx
 
да проблема в том, что не только шрифт, но и интервал междустрочный допустим тоже меняется
Сохранение листа как docx
 
TopMargin тоже стало работать, все здорово! Но шрифт так и не могу побороть... если копирую вручную, то все здорово, если с помощью этого кода, то подставляется колибри шрифт и половина форматирования слетает...
EXCEL VBA файл с электронной подписью,
 
Ребят, кто-нибудь работал с ЭП в эксель? мне нужно открыть файл и в конце его подписать, какой эп был подписан этот файл. Начал искать методы для работы с ЭП, ничего вменяемого не нашел, разве что VBASign который проверяет, подписан или нет, и возвращает true/false. Кто нибудь в курсе как можно ещё какую нибудь инфу о подписи выдернуть?
Сохранение листа как docx
 
Спасибо большое, практически работает, единственно вставляет текст с другим шрифтом. Если я просто беру все выделяю и копирую в ручную, потом вставляю в ворд, то все нормально... не могу понять как такой же Paste программно сделать...

И ещё маленький вопросик, как открываемому вордовскому файлу присвоить маленькие поля? PageSetup top margin, у меня ошибку выдает, типа нет такого метода...
Сохранение листа как docx
 
Ребят, есть документ в Excel сохраненный, как можно этот лист теперь сохранить в word? интересует также, как это можно сделать через vba?
VBA Максимальное число ячеек в Range, вопрос по vba
 
Ок, спасибо, разобрался)
VBA Максимальное число ячеек в Range, вопрос по vba
 
B.Key, Юрий М,
Ребят, спасибо большое за помощь!
А если сумму только определенных ячеек, допустим из 100 и они разделены, каждая сама по себе!? Что мне в аргумент Sum можно написать, если строка ограничена!?
VBA Максимальное число ячеек в Range, вопрос по vba
 
B.Key,т.е. работать непосредственно через массив по скорости получится быстрей, чем через Range и прочее?
VBA Максимальное число ячеек в Range, вопрос по vba
 
Цитата
vikttur пишет: viton-zizu, если в будущем ждете помощи на этом форуме, не стесняйтесь отписываться в своих темах.
Прошу прощения и вправду не очень получилось, отписался там)
Цитата
B.Key пишет: Строковое обозначение адреса диапазона ограничено 255 знаками.
Вот собственно узнал в чем была загвоздка.

Тогда спрошу по другому, я программист C#, потребовалось накидать макрос vba для excel, тут у меня небольшой ступор. Как именно работать с данными? Есть таблица Excel, она сама из себя представляет массив(условно), также можно пройтись по всем значениям запихать все в уже нормальный массив и работать с этими числами. Так вот вопрос, как предпочтительней работать с vba excel? Просто для примера мне нужно по считать сумму всех удовлетворяющих условию ячеек. Строк допустим около 10000.
Я просто в цикле перебираю весь столбец А2-А10000 , отбираю нужные мне и записываю в переменную summ. Правильно ли это!? потому что мне показалось, что высчитывалась довольно долго, а мне их нужно около 40 штук по считать...
Вообще хотелось бы научиться правильному обращению с большим объемом данных.
Был бы очень признателен любым советам  :)
Изменено: viton-zizu - 18.02.2015 15:19:29
Можно ли указать диапазон значений в критерий функции СУММЕСЛИ, вопрос
 
Все таки больше подошла СУММЕСЛИМН(), хотя в итоге потребовалось слишком много операций, чтобы узнать диапазон критерия для суммирования и решил реализовывать на 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.02.2015 06:17:47
Страницы: 1
Наверх