Подскажите, пожалуйста, не могу найти, вроде бы, очевидный ответ.
Необходимо при изменении/создании записи в ячейках столбцов от E до J редактировать итоговую строку, которая содержит суммы значений соответствующих столбцов. В случае, если итоговой строки ещё нет, её нужно создать на 2 строки ниже самой нижней заполненной строки. В случае добавления новой строки, итоговая строка должна опускаться вниз на одну строку.
Изменено: Глазман Михаил - 06.01.2022 19:03:00(Добавление файла)
Уважаемые форумчане! Как выделить ячейку цветом по двум условиям? Есть файл с поставщиками и их ценами. Нужно выделить цветом цену, если условия поставщика соответствуют и у него минимальная цена из предложенных. Во вложении правильный итоговый вариант.
Знаю, что это условное форматирование, но как именно прописать формулу, догадаться не могу =(
Прошу помочь с решением следующей задачи: есть подготовленный файл с иерархией задач (пример во вложении). Необходимо из него выгрузить данные с определённых столбцов в определённом порядке, сохраняя при этом иерархичность, в формате .csv. в определённую директорию (место на диске). В приведённом примере: ест общая иерархия Долги (24000000), которая состоит из долгов за коммуналку (240100), кредитные обязательства (240200) и аренду жилья (240300). Каждая позиция также подразделяется внутри себя на более детальные долги: коммуналку состоит из платы за свет (240101), за газ (240102) и за воду (240103) и т.д. В реальной задаче строк для обработки около 7000 с пятью уровнями вложенности узлов иерархии. В каких-то узлах вложенность меньше, к примеру только две; в каких-то все семь. Очевидно, что такая задача решается написанием макроса, однако, ввиду своих небольших знаний в области VBA самостоятельно решить задачу не получается. Прошу помочь. Файл .csv из примера также прикрепил.
Очень хорошо. Всё отлично работает. Только есть непонятные моменты: Зачем и что такое z?
Код
z.Add a(i, 1), CStr(a(i, 1))
Что означает эта строка?
Код
For i = 1 To z.Count
[A:C].AutoFilter 3, z(i)
With x.SpecialCells(xlCellTypeVisible).Cells(1, 1)
.Value = Application.Subtotal(9, x)
.EntireRow.Hidden = True
End With
x.SpecialCells(xlCellTypeVisible).EntireRow.Delete
Next
Option Explicit
Private Sub Merge()
Const strOtherOutside As String = "Прочий внешний"
Dim i1 As Integer 'количество строк на листе
Dim j As Integer 'счётчик строк на листе
Dim sngSubOtherOutside As Single 'подытоги по контрагенту Прочий внешний
'Склейка по контрагенту Прочий внешний
With Worksheets("Данные")
i1 = 0
While .Cells(i1 + 1, 3).Value <> ""
i1 = i1 + 1
Wend
sngSubOtherOutside = 0
For j = i1 + 1 To 3 Step -1
If .Cells(j, 3).Value = .Cells(j - 1, 3).Value Then
If .Cells(j, 1).Value = strOtherOutside Then
sngSubOtherOutside = sngSubOtherOutside + .Cells(j, 2).Value
.Rows(j).Delete
End If
Else
Rows(j).Insert shift:=xlDown
.Cells(j, 1) = strOtherOutside
.Cells(j, 2) = sngSubOtherOutside
.Cells(j, 3) = .Cells(j - 1, 3)
End If
Next
End With
End Sub
Логика следующая: сначала я считаю количество непустых строк, тем самым в переменную i1 подставляется размер таблицы. Затем снизу таблицы я начинаю построчный обход третьего столбца до тех пор, пока не встречу разные значения, а тем временем если в первом столбце встречается "Прочий внешний", то в переменную sngSubOtherOutside записываются значения третьего столбца и эта строка удаляется. Если в третьем столбце значение меняется, то происходит создание новой строки, в которую записываются: в первый столбец "Прочий внешний", во второй значение переменной sngSubOtherOutside, а в третий значение из третьего столбца. Но тем не менее, программа почему-то выдаёт не верный результат. Почему?
Добрый день! Необходима помощь в решении следующей задачи: есть таблица в MS Excel. В первом столбце указано название организации, во втором сумма по хоз.деятельности, третья служебная. Необходимо выполнить следующий макрос: при одинаковом значении третьего столбца склеить все строки, в пером столбце которых написано "Прочий внешний", а во втором посчитать сумму по второму столбцу. Результат выполнения макроса представлен на втором листе файла во вложении. Изначальная таблица на первом листе. очень надеюсь на вашу помощь. Заранее спасибо.