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

Страницы: 1
Не удается открыть исходный файл сводной таблицы, Исходные данные сводной таблицы
 
Здравствуйте!
Как решили?)
Скрыть строку, Скрыть строки по условию
 
Sanim,  всё верно, но после обработки фильтром остаются строки по которым есть остаток в колонке "Е"  и товар есть на всех складах, эти строки нужно скрывать.
Скрыть строку, Скрыть строки по условию
 
Это таблица с остатками по складам (так проще будет). Склады пронумерованы в первой строке.

1 условие которое делаю через УФ ( в колонке "Е" остаток меньше 3 ед. то закрашивает в зелёный)
2 условие ( в колонке "Е" остаток 4 и более ед., но на некоторых складах нет этой позиции то это показывает заливка через УФ).

Но есть позиции которых на остатках 4 и больше ед., и она есть на всех складах это я скрываю в ручную ( от этого вопрос, как можно сделать автоматически?).

Вроде подробно описал)))
Скрыть строку, Скрыть строки по условию
 
Добрый день!
Что бы скрыть необходимые строки, нужно проверить таблицу, что бы не было выделения цветом в данной строке после обработки УФ.

УФ подсвечивает отсутствие при условии что в колонке "E" больше 3.

На пример в приведённом файле я буду скрывать строки №40,42,43,44,45,69,74,77,96 и т.д. В этом и вопрос, как это сделать быстро и сразу о всей таблице.
Скрыть строку, Скрыть строки по условию
 
Добрый день!
Подскажите как в таблице скрыть строки которые не имеют заливки?

Таблицу обрабатываю УФ и он подкрашивает нужные колонки, при этом остаются строки в которых все ячейки не залиты и их необходимо скрывать (приходится в ручную проверять и скрывать).
Сумма по повторяющимся артикулам, Аналаг консолидации
 
МатросНаЗебре, Всё отлично, но этот товарищ не складывает, а вычитает)
Как поменять что бы он складывал?
Сумма по повторяющимся артикулам, Аналаг консолидации
 
вот файл
Сумма по повторяющимся артикулам, Аналаг консолидации
 
Максим В., да, вот такой результат должен получиться как пример.
Сумма по повторяющимся артикулам, Аналаг консолидации
 
Добрый день!
Подскажите как ещё кроме консолидации можно сложить остаток при одинаковом артикуле?
В таблице встречаются повторяющиеся артикулы и если есть дубли то остаток нужно сложить и отобразить в соседней колонке.
Артикул в колонке "свод", остаток в колонке "ост-к", результат вывести в колонку "результат".
файл как пример, реальный файл весит более 10 мб и состоит примерно из 170000 строк, каждый раз количество строк разница но меньше 150000 строк не бывает.
Консолидация просто не обрабатывает такой объём данных сразу, а частями слишком долго.
Изменено: Юрий М - 31.10.2023 14:15:56
Макрос заливки ячейки по условию, Макрос заливки цветов по условию
 
МатросНаЗебре, Спасибо!
Очень помогли.
Макрос заливки ячейки по условию, Макрос заливки цветов по условию
 
Sanja, В том и дело что ещё "расту").
Макрос заливки ячейки по условию, Макрос заливки цветов по условию
 
Добрый день!
Подскажите как сделать заливку цветом макросом при условии что если в колонках с "Е" по "АЕ" ячейки не залиты правилом условного форматирования.
В текущий момент делаю в ручную после обработки форматированием выделяю ячейки в колонках "А" и "В" зелёным цветом, что по итогу даёт возможность через фильтр по цвету увидеть только те ячейки где отработало/ не отработало правило при форматировании
Открывается 2 окна (Excel 2013, 64x) при открытии файла двойным кликом
 
Veselcack, спасибо!
перебирал все варианты подряд, ваш помог
Макрос вставки пустых строк при условии, Вставка строк по заднанному условию
 
МатросНаЗебре, Спасибо большое!!!  
Очень сильно помогает в работе!
Макрос вставки пустых строк при условии, Вставка строк по заднанному условию
 
Цитата
написал:
Нужно в колонке соблюсти обязательный порядок который контролируется последними цифрами в строке (10→20→30), елси нет какого-то из трех значений значит оно должно быть замененно пустой строчкой (пусто→20→30; 10→пусто→30; 10→20→пусто; 10→пусто→пусто; пусто→20→пусто; пусто→пусто→30 и т.д)
Нужно в колонке соблюсти обязательный порядок который контролируется последними цифрами в строке (10→20→30), елси нет какого-то из трех значений значит оно должно быть замененно пустой строчкой (пусто→20→30; 10→пусто→30; 10→20→пусто; 10→пусто→пусто; пусто→20→пусто; пусто→пусто→30 и т.д)    

p.s. Вся тема програмирования для меня очень интересна, т.к. нет возможности пройти обычное обучение по програмированию то приходится изучать это самостоятельно т.к. голова требует развития и новой информации. Космос тоже очень интересная тема)
Макрос вставки пустых строк при условии, Вставка строк по заднанному условию
 
Цитата
написал:
Sub InsRows()  Const p$ = "1231"  Dim a, adr$, ads, c$, i&, o&, s$, r&, rg As Range, pr, cr, pc&, re  a = [a1].CurrentRegion  cr = Val(Right(a(1, 1), 2)) / 10  For r = 2 To UBound(a)    pr = cr: cr = Val(Right(a(r, 1), 2)) / 10: pc = pr & cr    If InStr(p, pc) = 0 Then      c = Replace(Replace(Replace(p, pr, ""), cr, ""), "1", "", 1, 1)      s = s & "," & r & ":" & r + Len© - 1    End If  Next  Set re = CreateObject("VBScript.RegExp"): re.Pattern = "((\d+)(,)(\2)"  re.Global = True:  s = Right(s, Len(s) - 1)  If re.test(s) Then s = re.Replace(s, "$1$2 $4")  ads = Split(s)  For i = UBound(ads) To 0 Step -1    Do While Len(ads(i)) > 255      o = InStr(Right(ads(i), 255), ","): Range(Right(ads(i), 255 - o)).Insert      ads(i) = Left(ads(i), Len(ads(i)) - 256 + o)    Loop    If Len(ads(i)) Then Range(ads(i)).Insert  NextEnd Sub
Спасибо за код. Он действует на всём поле, но как мне написали в данной теме для чего я цитирую и ваш ответ где вы сказали о методах и проблемах о которых я не подозреваю, то данный макрос не выполняет необходимое условие.

Всё равно еще раз спасибо за уделенное время.
Макрос вставки пустых строк при условии, Вставка строк по заднанному условию
 
Цитата
написал:
Михаил Воинов,  приветиде сообщение #5 в порядок: не цитата это, а сплошное безобразие.
Да и #3 не лучше. Зачем цитировать то, что цитировать не нужно?
Поправил.
Цитировал данные сообщения что бы не терять связи в переписке, что очень часто бывает когда много людей общаются в одной теме.
Но если здесь так не принято, то на будущее учту данную ошибку.
Макрос вставки пустых строк при условии, Вставка строк по заднанному условию
 
Именно по этому и обратился на данный сайт, что бы самостоятельно обучиться это и понять что в что раньше было не известно!
Изменено: Михаил Воинов - 27.05.2022 09:10:59
Макрос вставки пустых строк при условии, Вставка строк по заднанному условию
 
Спасибо)
но почему данный код вставляет  строки только в одной колонке (первой), а не по всему файлу?
Изменено: Михаил Воинов - 27.05.2022 09:07:48
Макрос вставки пустых строк при условии, Вставка строк по заднанному условию
 
Спасибо огромное, но как поправить что бы результат выводил не в соседнюю колонку а вставлял в текущей?
Изменено: Михаил Воинов - 27.05.2022 09:06:18
Макрос вставки пустых строк при условии, Вставка строк по заднанному условию
 
Здравствуйте!
Есть макрос который всатвляет строки при условии, но оно соблюденно не полностью.
Нужно в колонке соблюсти обязательный порядок который контролируется последними цифрами в строке (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
Изменено: Михаил Воинов - 31.03.2022 16:46:38
Вставка пустых строк через макрос, Макрос для вставки строк по условию
 
Цитата
написал:
ElseIf Right(arr(yy, 1), 2) = "20" Then         'Если заканчивается на 20            If Right(arr(yy - 1, 1), 2) = "10" Then     'Если предыдущая строка заканчивается на 10                Cells(yy + 1, 1).EntireRow.Insert       'Вставить строку                yy = yy - 1                             'Проскакиваем предыдущую строку
вот здесь получается что если предыдущая строка заканчивается на "10" а текущая строка на "20" тогда вставляем 1 строку, но видимо не правильно поняли (если после 10 идет 10 тогда вставляем 2 строки - это работает; если после 20 идет 10 не работает (он просто после 20 вставляет пустую строку). Если после 20 в следующей строке будет стоять 10 тогда только нужно вставить пустую строку
Вставка пустых строк через макрос, Макрос для вставки строк по условию
 
не могу понять, почему после второй строки где идет "20", пото "30" он ставит пустую? идёт с начала "10" → "20" → "30", это правильный порядок. Но в нём после "20" он вставляет пустую строку, хотя про это нет условия......
Изменено: Михаил Воинов - 30.03.2022 17:33:12 (.)
Вставка пустых строк через макрос, Макрос для вставки строк по условию
 
можете пояснить за что в данном макросе отвечают данные команды на против строк?
Вставка пустых строк через макрос, Макрос для вставки строк по условию
 
Получилось но не до конца, нижние строки где после "10" идёт "10" несколько раз подряд не вставил строки.
Приложил файл как должно получится.

p.s. Только начинаю самостоятельно изучать макросы.
Вставка пустых строк через макрос, Макрос для вставки строк по условию
 
Спасибо большое!
Но я не до конца правильно написал условия, если после "10" идёт "10" тогда нужно 2 строки вставить, если после "20" идёт "10" тогда 1 строку.
Вставка пустых строк через макрос, Макрос для вставки строк по условию
 
Здравствуйте!
Есть готовый макрос который вставляет две пустые строки. Нужно в него добавить условие по которому он будет добавлять одну или две строки.
Вот точное условие ( если в конце "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
Изменено: Михаил Воинов - 29.03.2022 14:05:26
Страницы: 1
Наверх