Суммируйте значение из разных листов и возвращайте результат в той же ячейке - PullRequest
0 голосов
/ 08 июля 2019

Итак, я пытаюсь суммировать ячейку из разных листов, но я хочу, чтобы сумма была в одной ячейке или хотя бы в результате.Ячейка, которая является первым суммированием, будет удалена после суммы.

В этом случае ячейка A1 будет удалена.

Код только вставляет формулу, но не 'не делайте этого.

Private Sub C2_Click()
    Sheets("Prueba").Range("A1").Formula = "Sum(Prueba!A1, Reporte!C5)"
End Sub

Сообщения об ошибках отсутствуют.

1 Ответ

1 голос
/ 08 июля 2019

Ну, как сказал Cybernetic.Nomad, вам нужно использовать равное число = в той формуле, которую вы хотите. Помните, это как если бы вы печатали в ячейке эту формулу.

Еще один совет: вы можете использовать это

Private Sub C2_Click()
    Sheets("Prueba").Range("A1").value= Evaluate("=Sum(Prueba!A1, Reporte!C5)
End Sub

Таким образом, вы указываете VBA получить значение, возвращаемое из SUM, и поместить его в ячейку A1 как значение, а не формула.

Еще один совет:

Private Sub C2_Click()
    Sheets("Prueba").Range("A1").Formula= "=SUM(Prueba:Reporte!A1:C5)"
End Sub

Таким образом, вы можете суммировать на всех листах и ​​всех листах между этими листами любое значение в диапазоне A1: C5. Где у вас есть "Prueba", "Pueba01", "Pueba02", "Prueba03" и "Reporte", все значения в диапазоне A1:C5, в листах между «Prueba» и «Reporte» будут суммироваться . Если есть какой-либо другой лист за пределами этого, листы не будут суммироваться в результате.

Также вы можете использовать:

Private Sub C2_Click()
    Sheets("Prueba").Range("A1").value= Evaluate("=SUM(Prueba:Reporte!A1:C5)")
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...