Функция суммы в vba

Функция суммы в vba

431926 просмотра

5 ответа

76 Репутация автора

У меня проблема с суммированием ячеек в vba. Мне нужно использовать ячейки (a, b):

но это не сработает.

Ответы (5)

29 плюса

1494 Репутация автора

Функция не является свойством / методом из диапазона.

Если вы хотите суммировать значения, используйте следующее:

РЕДАКТИРОВАТЬ:

если вы хотите, чтобы формула использовалась следующим образом:

Если вы всегда будете использовать один и тот же адрес диапазона, то вы можете использовать его как Rory:

3 плюса

84334 Репутация автора

не будет работать, потому что функции рабочего листа (когда фактически используются на листе) не понимают Range или Cell

8 плюса

3115 Репутация автора

Поместите значение функции в ячейку

Application.Sum часто не работает хорошо в моем опыте (или, по крайней мере, среда разработчика VBA не нравится по какой-либо причине).

Функция, которая работает лучше всего для меня, — это Excel.WorksheetFunction.Sum()

Поместите функцию непосредственно в ячейку

Другой метод, который вы искали, я думаю, это разместить функцию непосредственно в ячейке. Это можно сделать, введя строку функции в значение ячейки. Вот пример, который дает тот же результат, что и выше, за исключением того, что значение ячейки задано функцией, а не результатом функции:

1 плюс

11 Репутация автора

Range("A10") является ячейкой ответа

Range("A1", "A9") — это диапазон для вычисления

0 плюса

1 Репутация автора

Dim I As Integer Dim LASTRW As Long

LASTRW = Таблицы («GROW PROG»). Ячейки (Rows.Count, «M»). End (xlUp) .ROW

Для I = 4 Для LASTRW

«ПРОВЕРКА ОШИБКИ: ДЛЯ ЕСЛИ ВСЕГО ДНЕЙ ФАЗЫ ПРЕВЫШАЮТ ВСЕГО ДЕЙСТВИЯ ПЕРИОДА ВРЕМЕНИ Dim grper As Integer Dim phper As Integer grper = Листы (« GROW PROG »). Ячейки (I,« J »). Значение phper = Excel.WorksheetFunction **. Сумма ** (листы («DATA»). Диапазон (ячейки (I-1, «O»), ячейки (I-1, «Q»))). Значение * 7

это начало моего суб. Я получаю сообщение об ошибке, что «.sum» является недопустимым квалификатором? какие-либо предложения?

Если возникнет потребность в определении какой из аргументов функции, процедуры является обязательным/необязательным, то сделать это будет довольно просто, т.к. после ввода имени функции на экране появится подсказка, где все не обязательные аргументы будут заключены в квадратные скобки (см. скриншоты)

В случае, если подсказка не появится, Вы, после ввода имени, можете :
— использовать клавиши CTRL + I
— в меню Правка / Edit выбрать команду Сведения / Quick Info
— или в меню Сервис / Tools выбрать команду Параметры / Options , затем выделить закладку Редактор / Editor и установить "флажок" напротив Краткие сведения / Auto Quick Info и нажать кнопку OK (установка этой опции позволит, в дальнейшем, выводить на экран подсказку автоматически)

7 haver24 [2012-07-29 11:42:00]

У меня проблема с суммированием ячеек в vba. Мне нужно использовать ячейки (a, b):

но это не сработает.

vba excel sum cells

5 ответов

Функция не является свойством/методом из диапазона.

Если вы хотите суммировать значения, используйте следующее:

EDIT:

если вы хотите, чтобы формула использовалась следующим образом:

Если вы всегда будете использовать один и тот же адрес диапазона, вы можете использовать его как Rory:

8 Lopsided [2013-07-17 00:40:00]

Поместите значение функции в ячейку

Application.Sum часто не работает хорошо в моем опыте (или, по крайней мере, среда разработчика VBA не нравится по какой-либо причине).

Функция, которая работает лучше всего для меня, это Excel.WorksheetFunction.Sum()

Поместите функцию непосредственно в ячейку

Другой метод, который вы искали, я думаю, это разместить функцию непосредственно в ячейке. Это можно сделать, введя строку функции в значение ячейки. Вот пример, который дает тот же результат, что и выше, за исключением того, что значение ячейки задано функцией, а не результатом функции:

не будет работать, потому что функции рабочего листа (когда фактически используются на листе) не понимают Range или Cell

Range("A10") — это ячейка ответа

Range("A1", "A9") — это диапазон для вычисления

Dim я As Integer Dim LASTRW As Long

LASTRW = Таблицы ("GROW PROG"). Ячейки (Rows.Count, "M"). End (xlUp).ROW

Для я = 4 Для LASTRW

"ПРОВЕРКА ОШИБКИ: ДЛЯ ЕСЛИ ВСЕГО ДНЕЙ ФАЗЫ ПРЕВЫШАЮТ ВСЕГО ДЕЙСТВИЯ ПЕРИОДА ВРЕМЕНИ Dim grper As Integer Dim phper As Integer grper = Листы (" GROW PROG "). Ячейки (I," J "). Значение phper = Excel.WorksheetFunction **. Сумма ** (листы ("DATA"). Диапазон (ячейки (I-1, "O"), ячейки (I-1, "Q"))). Значение * 7

это начало моего суб. Я получаю сообщение об ошибке, что ".sum" является недопустимым квалификатором? какие-либо предложения?

Ссылка на основную публикацию
Фейковая карта visa с деньгами
Getting a valid Visa credit card number Visa credit card number (Bulk Generate Visa Cards) To check if your credit...
Удаленная игра на ps4
Использование приложения (Дистанционное воспроизведение PS4) для управления системой PlayStation®4 с компьютера. При установке этого приложения на ПК или Mac можно...
Удаленное подключение к virtualbox
Содержание статьи Если хоть раз попробуешь установить Linux под VirtualBox’ом, может сложиться впечатление, что это очень простой инструмент. Интерфейс виртуальной...
Фейсбук страница владимира панаева
с 16 по 26 Декабря Поволжское отделение Российской академии художеств Лаврушинский пер., д. 15Москва 15 декабря в 18.00 в Координационном...