Как написать макрос для суммирования для динамических строк - PullRequest
0 голосов
/ 30 июня 2011

Я использую Excel 2010 и получаю данные из службы анализа SQL.

Когда я обновляю данные из Excel, строки становятся динамическими, так как они привязываются к внешнему источнику данных. Я добавляю отдельные столбцы с формулой для суммирования общей суммы.

При увеличении или уменьшении строк в Excel выравнивание пользовательских столбцов прекращается.

Как я могу решить эту проблему, чтобы суммирование значений стало динамическим с добавлением и удалением строк?

Как написать макрос для выполнения этой задачи?

Это то, что я пытаюсь, но я получаю следующую ошибку:

Public Sub ProcessData()
Dim i As Long
 Dim iLastRow As Long
Dim iStart As Long

With Sheet1

   iLastRow = .Cells(.Rows.Count, "D").End(xlUp).Row
 iStart = 5
  For i = 1 To iLastRow + 1
  If .Cells(i, "C").Value <> "" And .Cells(i, "B").Value <> "" Then
.Cells(i, "D").Value = 
 Application.Sum(.Range(.Cells(iStart, "C").Value + .Cells  (   iStart, "B").Value))
iStart = i + 1
End If
Next i
 End With
 End Sub

enter image description here

1 Ответ

0 голосов
/ 30 июня 2011

При создании соединения с базой данных (или другим источником данных) формулы в столбцах рядом с импортированными данными корректируются при обновлении, чтобы справиться с этой проблемой.Эти формулы обычно имеют вид =SomeFunction([@ColumnName], ...)

Аналогично, суммы в форме =SUM(ConnectionName[ColumnName]) автоматически будут правильными при обновлении соединения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...