Здравствуйте!
Как решили?)
Как решили?)
31.10.2023 13:27:37
МатросНаЗебре, Всё отлично, но этот товарищ не складывает, а вычитает)
Как поменять что бы он складывал? |
|
|
31.10.2023 11:40:20
Добрый день!
Подскажите как ещё кроме консолидации можно сложить остаток при одинаковом артикуле? В таблице встречаются повторяющиеся артикулы и если есть дубли то остаток нужно сложить и отобразить в соседней колонке. Артикул в колонке "свод", остаток в колонке "ост-к", результат вывести в колонку "результат". файл как пример, реальный файл весит более 10 мб и состоит примерно из 170000 строк, каждый раз количество строк разница но меньше 150000 строк не бывает. Консолидация просто не обрабатывает такой объём данных сразу, а частями слишком долго.
Изменено: |
|
|
31.10.2023 11:20:47
МатросНаЗебре, Спасибо!
Очень помогли. |
|
|
02.06.2022 14:51:06
МатросНаЗебре, Спасибо большое!!!
Очень сильно помогает в работе! |
|
|
27.05.2022 09:18:19
Всё равно еще раз спасибо за уделенное время. |
|||
|
27.05.2022 09:12:44
Цитировал данные сообщения что бы не терять связи в переписке, что очень часто бывает когда много людей общаются в одной теме. Но если здесь так не принято, то на будущее учту данную ошибку. |
|||
|
27.05.2022 09:10:40
Именно по этому и обратился на данный сайт, что бы самостоятельно обучиться это и понять что в что раньше было не известно!
Изменено: |
|
|
26.05.2022 18:10:47
Спасибо)
но почему данный код вставляет строки только в одной колонке (первой), а не по всему файлу?
Изменено: |
|
|
27.04.2022 12:07:08
Спасибо огромное, но как поправить что бы результат выводил не в соседнюю колонку а вставлял в текущей?
Изменено: |
|
|
15.04.2022 11:56:12
Здравствуйте!
Есть макрос который всатвляет строки при условии, но оно соблюденно не полностью. Нужно в колонке соблюсти обязательный порядок который контролируется последними цифрами в строке (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 |
|
|
31.03.2022 13:40:51
Здравствуйте!
Есть такой макрос, но нужно немного изменить условия вставки (если текущая строка заканчивается на 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
Изменено: |
|
|
30.03.2022 16:49:36
|
|||
|
30.03.2022 16:27:00
не могу понять, почему после второй строки где идет "20", пото "30" он ставит пустую? идёт с начала "10" → "20" → "30", это правильный порядок. Но в нём после "20" он вставляет пустую строку, хотя про это нет условия......
Изменено: |
|
|
29.03.2022 13:59:16
Здравствуйте!
Есть готовый макрос который вставляет две пустые строки. Нужно в него добавить условие по которому он будет добавлять одну или две строки. Вот точное условие ( если в конце "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
Изменено: |
|
|