Копировать сумму выделенных ячеек в Буфер обмена
Иногда на то, чтобы придумать некоторые вещи, уходит очень много времени. Но когда их УЖЕ придумали, то постфактум они кажутся очевидными и даже банальными. Из серии «а что, так можно было?». С самых первых версий в строке состояния внизу окна Microsoft Excel традиционно отображались итоги по выделенным ячейкам:
При желании, можно было даже щёлкнуть по этим итогам правой кнопкой мыши и выбрать в контекстном меню, какие именно функции мы хотим видеть:
И только совсем недавно в последних обновлениях Excel разработчики Microsoft добавили простую, но гениальную фишку — теперь при щелчке мышью по этим итогам они копируются в буфер!
Красота. Но что делать тем, у кого пока (или уже?) нет такой версии Excel? Тут могут помочь несложные макросы.
Копирование суммы выделенных ячеек в Буфер с помощью макроса
Откройте на вкладке Разработчик (Developer) редактор Visual Basic или воспользуйтесь для этого сочетанием клавиш Alt + F11 . Вставьте новый пустой модуль через меню Insert — Module и скопируйте туда следующий код:
Sub SumSelected() If TypeName(Selection) <> "Range" Then Exit Sub With GetObject("New:") .SetText WorksheetFunction.Sum(Selection) .PutInClipboard End With End Sub
- Сначала идёт «защита от дурака» — мы проверяем что именно выделено. Если выделены не ячейки (а, например, диаграмма), то выходим из макроса.
- Затем при помощи команды GetObject мы создаем новый объект данных, где будет храниться впоследствии наша сумма выделенных ячеек. Длинный и непонятный буквенно-цифровой код — это, на самом деле, ссылка на ветку реестра Windows, где лежит библиотека Microsoft Forms 2.0 Object Library, которая умеет создавать такие объекты. Иногда такой трюк ещё называют неявным поздним связыванием. Если его не использовать, то пришлось бы заранее делать в файле ссылку на эту библиотеку через меню Tools — References.
- Сумма выделенных ячеек считается командой WorksheetFunction.Sum(Selection), а затем полученная сумма помещается в буфер обмена командой PutInClipboard
Для удобства использования можно, конечно же, повесить этот макрос на сочетание клавиш с помощью кнопки Макросы на вкладке Разработчик (Developer — Macros) .
А если хочется видеть, что именно скопировалось после выполнения макроса, то можно включить панель Буфер обмена с помощью маленькой стрелки в правом нижнем углу соответствующей группы на Главной (Home) вкладке:
Не только сумма
Если кроме банальной суммы хочется что-то ещё, то можно воспользоваться любой из функций, которую нам предоставляет объект WorksheetFunction:
Например, там есть:
- Sum — сумма
- Average — среднее арифметическое
- Count — количество ячеек с числами
- CountA — количество заполненных ячеек
- CountBlank — количество пустых ячеек
- Min — минимальное значение
- Max — максимальное значение
- Median — медиана (центральное значение)
- . и т.д.
С учетом фильтров и скрытых строк-столбцов
Что если в выделенном диапазоне окажутся скрытые (вручную или фильтром) строки или столбцы? Чтобы не учитывать их в итогах, нужно будет чуть-чуть модифицировать наш код, добавив к объекту Selection свойство SpecialCells(xlCellTypeVisible):
Sub SumVisible() If TypeName(Selection) <> "Range" Then Exit Sub With GetObject("New:") .SetText WorksheetFunction.Sum(Selection.SpecialCells(xlCellTypeVisible)) .PutInClipboard End With End Sub
В этом случае подсчет любой функции итога будет применён только к видимым ячейкам.
Если нужна живая формула
Если пофантазировать, то можно придумать сценарии, когда в буфер лучше скопировать не число (константу), а именно живую формулу, которая подсчитывает нужные нам итоги по выделенным ячейкам. В этом случае придётся склеить формулу из фрагментов, добавив к ней дополнительно удаление знаков доллара и замену запятой (которая используется как разделитель адресов нескольких выделенных диапазонов в VBA) на точку с запятой:
Sub SumFormula() If TypeName(Selection) <> "Range" Then Exit Sub With GetObject("New:") .SetText "=СУММ(" & Replace(Replace(Selection.Address, ",", ";"), "$", "") & ")" .PutInClipboard End With End Sub
Суммирование с дополнительными условиями
Ну и, наконец, для совсем уже маньяков можно написать макрос, который будет суммировать не все выделенные ячейки, а только те, что удовлетворяют заданным условиям. Так, например, будет выглядеть макрос помещающий в Буфер сумму выделенных ячеек, если их значения больше 5 и при этом они залиты любым цветом:
Sub CustomCalc() Dim myRange As Range If TypeName(Selection) <> "Range" Then Exit Sub For Each cell In Selection If cell.Value > 5 And cell.Interior.ColorIndex <> xlNone Then If myRange Is Nothing Then Set myRange = cell Else Set myRange = Union(myRange, cell) End If End If Next cell With GetObject("New:") .SetText WorksheetFunction.Sum(myRange) .PutInClipboard End With End Sub
Как легко сообразить, условия можно задать абсолютно любые — вплоть до форматов ячеек — и в любых количествах (в том числе, связывая их между собой логическими операторами or или and). Простор для фантазии большой.
Ссылки по теме
- Преобразование формул в значения (6 способов)
- Что такое макросы, как их использовать, куда вставлять код на Visual Basic
- Полезная информация в строке состояния Microsoft Excel
Перемещение и копирование ячеек и их содержимого
Используйте команды Вырезать, Копировать и Вставить, чтобы перемещать или копировать содержимое ячеек. Так можно копировать определенную часть содержимого или свойств ячеек. Например, скопировать вычисленное по формуле значение, не копируя саму формулу, или скопировать только формулу.
Ячейки в Excel перемещаются и копируются вместе с формулами, итоговыми значениями, форматом и примечаниями.
В Excel ячейки можно перемещать путем перетаскивания или с помощью команд Вырезать и Вставить.

Перемещение ячеек путем перетаскивания

- Выделите ячейки или диапазон ячеек, которые требуется переместить или скопировать.
- Наведите указатель мыши на границу выделенной области.
- Когда указатель примет вид указателя перемещения , перетащите ячейку или диапазон ячеек в другое место.
Перемещение ячеек с помощью команд «Вырезать» и «Вставить»
- Выделите ячейку или диапазон ячеек.
- На вкладке Главная нажмите кнопку Вырезать
или нажмите клавиши CTRL+X. - Выделите ячейку, в которую вы хотите переместить данные.
- На вкладке Главная нажмите кнопку Вставить
или нажмите клавиши CTRL+V.
Копирование ячеек с помощью копирования и вставки
- Выделите ячейку или диапазон ячеек.
- Нажмите кнопку Копировать или клавиши CTRL+C.
- Нажмите кнопку Вставить или клавиши CTRL+V.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.
Как скопировать сумму выделенных ячеек в excel

Строка состояния в Microsoft Excel позволяет быстро увидеть среднее значение, сумму или количество выбранных ячеек. Но что лучше, чем видеть эти ценности, так это уметь ими пользоваться. Узнайте, как копировать непосредственно из строки состояния.
Выберите свои расчеты в строке состояния
Поскольку вы можете настроить элементы, отображаемые в строке состояния Excel, вам нужно будет подтвердить, что выбраны те, которые вы хотите просмотреть и скопировать.
Щелкните правой кнопкой мыши строку состояния в Excel, чтобы увидеть доступные элементы. В строке состояния видны имеющие галочки. Итак, если вы хотите увидеть среднее значение, например, убедитесь, что вы выбрали его, чтобы поставить галочку рядом.
Выберите ячейки для просмотра вычислений
Такие вычисления, как среднее , сумма, минимум, максимум и другие, отображаются в строке состояния только тогда, когда они используются. Это означает, что вам нужно будет выбрать ячейки на листе, чтобы показать эти вычисления.
Выберите диапазон ячеек, и, посмотрев строку состояния, вы увидите значение выбранных вычислений.
Копировать значение строки состояния
Выделив ячейки и увидев расчеты внизу, просто щелкните нужное значение в строке состояния. Это помещает его в буфер обмена. Вы можете вставить его непосредственно в электронную таблицу или в другое приложение.
Чтобы вставить его в свой лист, выделите ячейку, где требуется значение, и выполните одно из следующих действий:
- Щелкните правой кнопкой мыши и выберите пункт Вставить.
- Перейдите на вкладку «Главная» и нажмите кнопку «Вставить» в разделе «Буфер обмена» на ленте.
- Используйте клавишу Ctrl+V.
Иногда небольшие обновления программ, которые мы используем каждый день, например Microsoft Excel, являются лучшим видом. Эта удобная функция позволяет добавлять вычисления в электронные таблицы легче, чем когда-либо ранее.
Не забудьте подписаться на нашего Главного Редактора в Instagram, или на нашу официальную страницу в Facebook, канал в Telegram и в Twitter. Также следите за нами в Google News.
Вопросы
Закрепление области в программе Microsoft Excel При работе со значительным числом данных на листе в программе Microsoft Excel приходится постоянно.
Excel точность как на экране
Точность округления как на экране в Microsoft Excel Производя различные вычисления в Excel, пользователи не всегда задумываются о том, что значения.
Как в excel сделать заголовок
Включение и отключение заголовков таблицы Excel При создании таблицы Excel в ее первую строку автоматически добавляется строка заголовков , но вы можете.
Как в excel проранжировать данные

Функция РАНГ() в MS EXCEL Функция РАНГ(), английский вариант RANK(), возвращает ранг числа в списке чисел. Ранг числа — это его величина относительно.
Как в excel сделать цифры по порядку

Числовые последовательности в MS EXCEL (порядковые номера 1,2,3. и др.) Создадим числовые последовательности различных видов: 1, 2, 3, . 1, 3, 5, 7.
Excel как скопировать сумму выделенных ячеек в

Перемещение и копирование формулы Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта.
Excel как посчитать уникальные значения в

Подсчет Уникальных ТЕКСТовых значений в MS EXCEL Произведем подсчет уникальных текстовых значений в диапазоне ячеек. Сначала поясним, что значит подсчет.
Excel 2010 как в примечание вставить картинку

Как вставить картинку в примечание в Excel. В примечание в Excel можно вставить картинку . Сделать картинку постоянно видимой или скрыть. Примечание в.
Как отменить удаление листа в excel
Восстановление пропавших листов в Microsoft Excel Возможность в Экселе создавать отдельные листы в одной книге позволяет, по сути, формировать несколько.
Excel как поменять шрифт по умолчанию в

Изменение размера шрифта В классических версиях приложений Excel, PowerPoint и Word можно изменить размер шрифта всего текста или только выделенного.