Добрый день! Подскажите как в таблице скрыть строки которые не имеют заливки?
Таблицу обрабатываю УФ и он подкрашивает нужные колонки, при этом остаются строки в которых все ячейки не залиты и их необходимо скрывать (приходится в ручную проверять и скрывать).
Добрый день! Подскажите как ещё кроме консолидации можно сложить остаток при одинаковом артикуле? В таблице встречаются повторяющиеся артикулы и если есть дубли то остаток нужно сложить и отобразить в соседней колонке. Артикул в колонке "свод", остаток в колонке "ост-к", результат вывести в колонку "результат". файл как пример, реальный файл весит более 10 мб и состоит примерно из 170000 строк, каждый раз количество строк разница но меньше 150000 строк не бывает. Консолидация просто не обрабатывает такой объём данных сразу, а частями слишком долго.
Добрый день! Подскажите как сделать заливку цветом макросом при условии что если в колонках с "Е" по "АЕ" ячейки не залиты правилом условного форматирования. В текущий момент делаю в ручную после обработки форматированием выделяю ячейки в колонках "А" и "В" зелёным цветом, что по итогу даёт возможность через фильтр по цвету увидеть только те ячейки где отработало/ не отработало правило при форматировании
Здравствуйте! Есть макрос который всатвляет строки при условии, но оно соблюденно не полностью. Нужно в колонке соблюсти обязательный порядок который контролируется последними цифрами в строке (10→20→30), елси нет какого-то из трех значений значит оно должно быть замененно пустой строчкой (пусто→20→30; 10→пусто→30; 10→20→пусто; 10→пусто→пусто; пусто→20→пусто; пусто→пусто→30 и т.д) Sub Insert_Rows() Dim yy As Long Dim arr As Variant yy = Cells(Rows.Count, 1).End(xlUp).Row If yy = 1 Then Exit Sub arr = Range(Cells(1, 1), Cells(yy, 1))
Dim Application_Calculation As Long Application_Calculation = Application.Calculation Application.Calculation = xlCalculationManual
For yy = UBound(arr, 1) To 2 Step -1 If Right(arr(yy, 1), 2) = "20" Then Cells(yy + 1, 1).Resize(1).EntireRow.Insert With Cells(yy + 1, 1).Resize(1, 1) Cells(yy, 1).Resize(1, 2).Copy .Cells .ClearContents End With ElseIf Right(arr(yy, 1), 2) = "10" Then If Right(arr(yy - 1, 1), 2) = "30" Then Cells(yy + 1, 1).EntireRow.Insert yy = yy - 1 End If End If Next
Application.Calculation = Application_Calculation End Sub
Здравствуйте! Есть такой макрос, но нужно немного изменить условия вставки (если текущая строка заканчивается на 10 и следующая на 10, тогда вставить 2 пустых строки; если строка заканчивается на 20 а следующая на 10 тогда вставить одну строку, если после 30 идет 20 одну строку). Что бы сохранить в строках кратность 3 которе обусловлено окончанием строк и при отсутствии замещалось пустыми. 10→20→30; 10→пусто→пусто; 10→20→пусто; пусто→20→30. Sub Insert_Rows() Dim yy As Long Dim arr As Variant yy = Cells(Rows.Count, 1).End(xlUp).Row If yy = 1 Then Exit Sub arr = Range(Cells(1, 1), Cells(yy, 1))
Dim Application_Calculation As Long Application_Calculation = Application.Calculation Application.Calculation = xlCalculationManual
For yy = UBound(arr, 1) To 2 Step -1 If Right(arr(yy, 1), 2) = "10" Then Cells(yy + 1, 1).Resize(2).EntireRow.Insert With Cells(yy + 1, 1).Resize(2, 2) Cells(yy, 1).Resize(1, 2).Copy .Cells .ClearContents End With ElseIf Right(arr(yy, 1), 2) = "20" Then If Right(arr(yy - 1, 1), 2) = "10" Then Cells(yy + 1, 1).EntireRow.Insert yy = yy - 1 End If End If Next
Application.Calculation = Application_Calculation End Sub
Здравствуйте! Есть готовый макрос который вставляет две пустые строки. Нужно в него добавить условие по которому он будет добавлять одну или две строки. Вот точное условие ( если в конце "10" нужно вставить две строки, если "20" одну строку).
Sub Insert_Rows() Dim lLastRow As Long, li As Long Application.ScreenUpdating = 0 lLastRow = Cells(Rows.Count, 1).End(xlUp).Row For li = lLastRow To 2 Step -1 Rows(li).Resize(2).Insert Next li Application.ScreenUpdating = 1 End Sub