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

Страницы: 1
SUMIF для МАССИВА, Необходимо применить функцию SUMIF для диапазона данных в массиве, а не на листе
 
Добрый день)
Подскажите пожалуйста, есть ли возможность применить такую функцию :
a = WorksheetFunction.SumIf(Range("E2:E11"), "A1 = A3")
но не для листа, а для массива.
В таблице более 100 тыс. строк и около 100 столбцов.
Нужно получить сложения по условию. Формула СУММЕСЛИ на листе работает, но как сами понимаете ОЧЕНЬ ДОЛГО ДУМАЕТ.
Можно ли как то применить эту же функцию к массиву, и как тогда указать диапазон?
Заранее, спасибо большое за помощь.
Сравнить наибольшее значение в соседних ячейках по условию, и заменить мЕньшие значения бОльшими.
 
Доброго времени суток всем.
Несколько дней бьюсь над задачей и хотя и решил ее примитивнейшим образом, хочу попросить помощи в более оптимальном решении.

Есть таблица с данными.
Необходимо найти одинаковые значения в столбце "С" (это штрихкоды товара) и сравнить цены (столбец "Е").
Далее найти наибОльшую цену и присвоить ее всем ячейкам в столбце "Е" соответствующим данному ШТРИХКОДУ.

Сделал цикл For each
Но, что бы он все поменял как надо, его надо прогонять 10 раз (т.к. всегда 9-10 повторных штрихкодов), а это очень замедляет работу, особенно если учесть, что в рабочем файле 70тыс строк.

Математического склада ума у меня нет и ничего толкового придумать не могу.
Если поможете найти решение, буду очень благодарен.
файл примера с моим решением прилагаю

Всем хорошего дня.
Код
Sub сравнить_цены()
Dim LR As Long
LR = Sheets("ОСТАТКИ").Cells(Rows.Count, "A").End(xlUp).Row
 
Dim CELL_SK As Range
For Each CELL_SK In Range("c2:c" & LR)
'Сравниваем если рядом 2 одинаковых Штрихкода(столбец С) и цены(столбец Е)при этом не равны, тогда: заменяем мЕньшую цену на бОльшую
    If CELL_SK = CELL_SK.Offset(1, 0) And CELL_SK.Offset(0, 2) <> CELL_SK.Offset(2, 2) Then
        If CELL_SK.Offset(0, 2) > CELL_SK.Offset(1, 2) Then
        CELL_SK.Offset(1, 2) = CELL_SK.Offset(0, 2)
        ElseIf CELL_SK.Offset(0, 2) < CELL_SK.Offset(1, 2) Then
        CELL_SK.Offset(0, 2) = CELL_SK.Offset(1, 2)
        End If
    End If
Next CELL_SK
End Sub
Макрос ошибочно выборочно игнорирует копирование данных
 
Доброго времени суток всем!
Помогите разобраться с задачкой.
Версия Ексель 2010 (на всех проверяемых компьютерах)
Операционная система Windows 10  (на всех проверяемых компьютерах)
Есть файл ексель с несколькими вкладками (урезанную версию с данными прикладываю)
Прописал простенький макрос, который собирает все данные в кучу, с определенными требованиями к форматированию.
Все сделал примитивно, как смог. И всегда ответы на все вопросы находил на Вашем форуме.
Но сейчас какая то мистика происходить стала.
Данный файл (точнее макрос) прекрасно работает на моем компьютере но на двух других, он работает без ошибок НО НЕПРАВИЛЬНО.
Т.е. он запускается, выполняется (но выдает некорректные данные).
когда пытаюсь скопировать целый столбец с 60тыс ячеек, он копировал только 12288 ячеек и все. (столбец копировал и вставлял, что бы просто местами поменять)
Убрал копирование целого столбца и вставил цикл, что бы он копировал ячейку за ячейкой. эта проблема ушла, но возникла другая, еще более загадочная. После выполнения макроса, он выборочно не переносит некоторые строки из первичных вкладок. Причем каждый раз разные. Этого я совсем не могу понять.
Когда запускаю макрос на своем компе, все работает отлично.
Что бы было понятно сколько строк не переносится - в каждой из 10 вкладок примерно по 5000-1000 строк в 6 столбцах всего около 65000 значений в общей вкладке получается по итогу, так вот если запускать на "проблемных" компах, то там получается всегда разное количество строк в меньшую сторону. т.е. он по каким то неведомым причинам не копирует некоторые строки из вкладок. И каждый раз разные.
Я просто даже не понимаю  в каком направлении "копать". Может вирус там какой то, который нарушает работу макроса. Может с "железом" что то. Просто раньше все работало прекрасно и требуемая задача выполнялась. А недели 2 назад начались эти "танцы с бубном".
Или все таки проблема с моими руками? Подскажите пожалуйста, в чем может быть проблема.
Может проблема в размере вкладок?
Заранее спасибо за уделенное время
Страницы: 1
Наверх