Копировать рассчитанную сумму выделения в буфер обмена
× The language used in menus and dialogs (Язык, используемый в меню и диалоговых окнах) in ASAP Utilities can be set to «Русский (Russian)».
Экспорт › 6. Копировать рассчитанную сумму выделения в буфер обмена
Копирование вычисляемой суммы выделенных ячеек в буфер обмена. Именно так, как это видно в строке состояния Excel.
Запуск этой утилиты
- Нажмите кнопку ASAP Utilities › Экспорт › 6. Копировать рассчитанную сумму выделения в буфер обмена
- Укажите сочетание клавиш: ASAP Utilities › Избранное и сочетания клавиш › Редактировать избранное и сочетания клавиш.
Additional keywords for this tool:
вставить сумму
Как скопировать сумму выделенных ячеек в excel

Я получила убедительное письмо, что автоматизация нужна именно в этом случае – сумму уже выделенных ячеек как-нибудь скопировать и вставить в другую ячейку.
Писать формулу потом не годится, даже если ячейки как-нибудь маркировать. А вот скопировать суммарное значение, которое мы привыкли видеть в строке состояния (нижний правый угол файла) стандартными способами не получается.

Решение задачи
Поэтому скачайте мой файл и при открытии не забудьте включить макросы кнопкой Включить содержимое (в старых версия на голубой полосе кнопка Параметры, а далее в окошке выберите Включить содержимое).

Разместите в нём свои листы с рабочими таблицами (все мои листы можно удалить, файл назовите любым удобным именем, только оставьте расширение .xlsx), выберите нужные ячейки, нажмите CTRL+ц, далее в появившемся окне укажите ячейку для вставки суммы (это может быть и другой лист) и ОК.
Копировать сумму выделенных ячеек в Буфер обмена
Иногда на то, чтобы придумать некоторые вещи, уходит очень много времени. Но когда их УЖЕ придумали, то постфактум они кажутся очевидными и даже банальными. Из серии «а что, так можно было?». С самых первых версий в строке состояния внизу окна 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, и теперь вам нужно скопировать сумму этого диапазона и вставить в другую ячейку, как бы вы могли быстро с этим справиться? В этой статье будут представлены несколько простых обходных путей для копирования суммы выбранных ячеек только в Excel.
- Копировать сумму выбранных ячеек только с VBA
- Копировать сумму выбранных ячеек только с созданием диапазона имен
- Копировать сумму выбранных ячеек только с игнорированием скрытых ячеек / строк / столбцов
Копировать сумму выбранных ячеек только с VBA
Мы можем применить VBA, чтобы скопировать только сумму выбранных ячеек, а затем вставить в другую ячейку в Excel. Пожалуйста, сделайте следующее:
1. Выделите числовые ячейки, сумму которых вы только скопируете, и нажмите другой + F11 клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модули, а затем вставьте ниже код VBA в открывающееся окно модуля.
VBA: копировать сумму выбранных ячеек только в Excel
Sub CopySum() Dim xOb As New DataObject xOb.Clear xOb.SetText Application.WorksheetFunction.Sum(Application.ActiveWindow.RangeSelection) xOb.PutInClipboard MsgBox "The sum of selected cells has been copied to the Clipboard.", vbInformation, "Kutools for Excel" End Sub

3. Нажмите Tools > Рекомендации , чтобы открыть окно Ссылки — VBAProject.

4. В диалоговом окне Ссылки — VBAProject щелкните значок Приложения кнопка. Затем выберите FM20.DLL файл в папке C: \ Windows \ System32 во всплывающем диалоговом окне Добавить ссылку, а затем щелкните Откройте кнопки и OK кнопку, чтобы закрыть два диалоговых окна. Смотрите скриншот:
Примечание: Если же линия индикатора Библиотека объектов Microsoft Forms 2.0 опция существует в Доступные ссылки в поле Ссылки — окно VBAProject, установите этот флажок напрямую, а затем щелкните OK кнопку.
5. Теперь вы вернетесь в окно модуля, нажмите F5 ключа или Run кнопку, чтобы запустить этот код VBA.

И теперь появляется диалоговое окно, в котором сообщается, что сумма выбранных ячеек уже скопирована в буфер обмена. Пожалуйста, нажмите на OK чтобы закрыть его.
6. Идите вперед, чтобы выбрать ячейку назначения, в которую вы вставите сумму, и нажмите Ctrl + V одновременно, чтобы вставить сумму выбранных ячеек.
Легко копируйте промежуточные итоги только из выделенного фрагмента в другой диапазон или рабочий лист в Excel
Работы С Нами Kutools for ExcelАвтора Расширенные ряды комбинирования функция, пользователи Excel могут быстро вычислить промежуточные итоги (сумма, количество, среднее и т. д.), не перемещая одни и те же элементы вместе. Таким образом, вы можете скопировать свой выбор в целевой диапазон, а затем применить эту функцию для копирования промежуточных итогов только в Excel.
Получить 30 -дневная полнофункциональная бесплатная пробная версия прямо сейчас!

Копировать сумму выбранных ячеек только с созданием диапазона имен
Некоторые пользователи Excel могут неохотно использовать код VBA. Не волнуйтесь! Этот метод поможет вам скопировать сумму выбранных ячеек только с созданием диапазона имен и применением функции СУММ.
1. Выберите диапазон ячеек, сумму которых вы скопируете, введите имя в поле Имя поле в верхнем левом углу и нажмите Enter .

В нашем случае мы определяем диапазон имен как копия_сумма в Имя коробка. Смотрите скриншот:

2. Выберите ячейку назначения, в которую вы вставите сумму этих ячеек, введите формулу = СУММ (сумма_копий) в него и нажмите Enter .
И теперь сумма всех ячеек в диапазоне имен возвращается в выбранной ячейке.
Копировать сумму выбранных ячеек только с игнорированием скрытых ячеек / строк / столбцов
Иногда в выбранном диапазоне могут быть скрытые ячейки, строки или столбцы, сумму которых вы скопируете. И вам нужно скопировать сумму, игнорируя любые скрытые ячейки, строки и столбцы. Как? Попробуйте этот метод!

1. Выберите диапазон со скрытыми строками и столбцами, сумму которых вы скопируете, введите имя в поле «Имя» в верхнем левом углу и нажмите клавишу Enter. Смотрите скриншот:
В нашем случае мы определяем диапазон имен как copy_sum_visible в Имя коробка. Смотрите скриншот:

2. Выберите ячейку назначения, в которую вы поместите сумму, и введите формулу = СУММВИДИМ (copy_sum_visible) в него и нажмите Enter .
Заметки:
(1) СУЩЕСТВЕННЫЙ функция — одна из нескольких полезных встроенных функций, предоставляемых Kutools for Excel.
(2) Значение суммы станет ошибкой, если вы отправите эту книгу другим, которые не устанавливают ее. Kutools for Excel. Во избежание этой проблемы мы рекомендуем вам заменить формулу ее расчетным значением на Kutools for Excel’s К фактическому утилита.
Получить 30 -дневная полнофункциональная бесплатная пробная версия прямо сейчас!

Демо: копирование суммы выбранных ячеек только с игнорированием скрытых ячеек / строк / столбцов
Kutools for Excel: Более 300 удобных инструментов у вас под рукой! Начните свой 30 Бесплатная пробная версия на день без каких-либо ограничений сегодня. Скачать
