Во вложении пример файла. Есть несколько компаний, их число меняется кнопками "Добавить" и "Удалить". В компании вручную заполняются данные, и зелёная ячейка считает сумму данных всех компаний. Поэтому в идеале должна содержать формулу.
Возможно ли сделать так, чтобы при добавлении компании, в формулу зелёной ячейки добавлялось соответствующее слагаемое (ссылка на данные добавленной компании), а при удалении компании соответственно убиралось?
Сложность: компании могут добавляться и удаляться в произвольном порядке.
Если так реализовать не получится, в крайнем случае сделаю кнопку на консолидацию, но это неудобное решение.
Добрый день!
Во вложении пример файла. Есть несколько компаний, их число меняется кнопками "Добавить" и "Удалить". В компании вручную заполняются данные, и зелёная ячейка считает сумму данных всех компаний. Поэтому в идеале должна содержать формулу.
Возможно ли сделать так, чтобы при добавлении компании, в формулу зелёной ячейки добавлялось соответствующее слагаемое (ссылка на данные добавленной компании), а при удалении компании соответственно убиралось?
Сложность: компании могут добавляться и удаляться в произвольном порядке.
Если так реализовать не получится, в крайнем случае сделаю кнопку на консолидацию, но это неудобное решение.Almost
Можно вычислять прямо в макросе и вставлять в ячейку результат [vba]
Код
Sub SumCompany() Dim S As Double, I As Long Dim arr: arr = Range("B4:C" & Cells(Rows.Count, 2).End(xlUp).Row).Value For I = 1 To UBound(arr) If arr(I, 1) = "данные" Then S = S + arr(I, 2) Next [C1] = S End Sub
[/vba]
Можно вычислять прямо в макросе и вставлять в ячейку результат [vba]
Код
Sub SumCompany() Dim S As Double, I As Long Dim arr: arr = Range("B4:C" & Cells(Rows.Count, 2).End(xlUp).Row).Value For I = 1 To UBound(arr) If arr(I, 1) = "данные" Then S = S + arr(I, 2) Next [C1] = S End Sub
_Boroda_, Спасибо за ответ, однако я не смогу сложить колонку целиком, извиняюсь что привёл слишком упрощённый пример. В реальности колонки тянутся вниз на сотни строк, и содержат разную информацию, которую выборочно нужно складывать, раздельно по строкам. Исправил пример, чтобы это было видно.
МВТ, компании добавляются с пустыми полями. Данные заполняются вручную после исполнения макроса. Можно сделать отдельный макрос для консолидации, запускаемый кнопкой по готовности. Я так и сделаю, если выяснится, что такую задачу нельзя автоматизировать разумным способом.
_Boroda_, Спасибо за ответ, однако я не смогу сложить колонку целиком, извиняюсь что привёл слишком упрощённый пример. В реальности колонки тянутся вниз на сотни строк, и содержат разную информацию, которую выборочно нужно складывать, раздельно по строкам. Исправил пример, чтобы это было видно.
МВТ, компании добавляются с пустыми полями. Данные заполняются вручную после исполнения макроса. Можно сделать отдельный макрос для консолидации, запускаемый кнопкой по готовности. Я так и сделаю, если выяснится, что такую задачу нельзя автоматизировать разумным способом.Almost