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

Страницы: 1
Подсчёт уникальных значений по критерию, Нужно оптимизировать (или предложить другой) код подсчёта уникальных значений по критерию
 
ikki,спасибо огромное! То что нужно. Ваш код примерно в 100 раз быстрее моего.
Пошёл учить матчасть...
Подсчёт уникальных значений по критерию, Нужно оптимизировать (или предложить другой) код подсчёта уникальных значений по критерию
 
vikttur, допустим из 60 тысяч строк 10 тысяч будут уникальные товары. Соответственно нужно будет 10 тысяч раз программно снять/убрать фильтр и в промежутках проводить вычисления. Я правильно понял Вашу мысль? Думал про это, но решил,что это будет более долгий путь.  
Подсчёт уникальных значений по критерию, Нужно оптимизировать (или предложить другой) код подсчёта уникальных значений по критерию
 
Доброго времени суток!
Нашел макрос и немного переделал его под свои нужды. Но беда в том, что он неплохо работает только на небольших объёмах. При 60 тыс строк - завершения работы макроса так и не дождался :( (прошли часы)...
Может быть кто-то сможет подсказать как можно ускорить выполнение макроса?
Ясно, что сильно тормозят циклы, но как без них обойтись, ума не приложу...

В данном примере для каждого товара (критерий - товар) нужно сосчитать количество уникальных продаж (критерий - № заказа) и количество уникальных покупателей (критерий Покупатель).
Например Товар1 встречается на 5-х строках, он фигурирует в 4-х уникальных продажах (заказах покупателя) и продавался 2-м покупателям.

Возможно надо использовать не коллекции?
Варианты со сводной не подходят. Возможно применить формулу если её как-то записать кодом.
Заранее спасибо.
Как сохранить лидирующие нули в артикуле средствами VBA
 
Юрий, спасибо.
Чуть дополнил Ваш вариант. И он заработал.
Дело в том, что изначально столбец не в текстовом формате. Теперь получился универсальный блок.

Код
Sub Нолики()
Dim r As Integer, i As String
    For r = 2 To 10
        Cells(r, 3).NumberFormat = "@"
        Cells(r, 3) = Cells(r, 1).Text
    Next r
End Sub
Всё оказалось так просто  :)
Всем спасибо.
Как сохранить лидирующие нули в артикуле средствами VBA
 
Доброго времени суток!
Проблема известная, возможно кем-то решенная, но я не смог найти удовлетворяющего меня ответа.
Имеется файл excel, сохранённый из 1С. Это отчёт, который я обрабатываю VBA. В процессе работы кода теряются лидирующие нули из артикулов.
До сих пор я вручную копировал столбец с артикулами в Блокнот, менял формат исходного столбца на текстовый и вставлял артикулы обратно. Процедура занимает 10 секунд и не напрягает, но чтобы избежать ошибок лучше конечно это как-то автоматизировать.
Нужен какой-нибудь способ в VBA сохранять лидирующие нули. При этом формат столбца с артикулами обязательно должен стать текстовым. На него потом завязываются ВПР и проч.
Пробовал функции (во вложении пример), пробовал подставлять апостроф - не получается. Голова совсем поломалась  :)  
В VBA не слишком силён, без подсказки не разберусь  :)
Заполнить ячейки текстом по условию VBA
 
МатросНаЗебре, спасибо! Вообще то, что нужно!
Название макроса действительно прикольное, очевидно навеяно названиями товаров :)
Пошёл учить матчасть...
 
Заполнить ячейки текстом по условию VBA
 
Ivan.kh, именно так! Похоже у меня больше времени ушло на то, чтобы пример сделать и проблему описать, чем Вам решить задачку!
Большое спасибо!
Заполнить ячейки текстом по условию VBA
 
Доброго времени суток, уважаемые форумчане!
Прошу помощи у знатоков.
Имеется таблица из 2- колонок - номенклатура и характеристики номенклатуры. Столбец с номенклатурой отсортирован. Необходимо между разными номенклатурами добавить строку, в которой в одном столбце будет содержаться название этой номенклатуры (которая расположена ниже), а в другом все характеристики, которые присущи этой номенклатуре.
Причём, если это только одна характеристика, то она должна быть занесена в соответствующие ячейки без дополнительных знаков. Если таких характеристик несколько, то они должны быть заключены в фигурные скобки, перечислены через запятую и быть уникальными (не повторяться). Количество видов номенклатуры и характеристик может быть всегда разным.

Не силён в VBA, но интуитивно подозреваю, что это не слишком сложная задача.
Пробовал решить задачу формулами с логическими и ИНДЕКСом  в таблице с уже добавленными пустыми строками, но так как число строк с характеристиками в моём случае заранее предсказать нельзя, то бросил эту затею  :(  
Пример прилагаю.
Заранее спасибо.
Страницы: 1
Наверх