База знаний KB0160

Копирование множественной выборки несмежных ячеек завершается ошибкой

Проблема

Не работает копирование множественной выборки несмежных ячеек в набор данных think-cell. При множественной выборке нескольких несмежных ячеек, например, если при зажатой клавише CTRL нажать на несколько ячеек, затем скопировать и вставить эти ячейки во внутренний набор данных think-cell, то будут вставлены и ячейки, расположенные между выбранными ячейками.

Скопированная и вставленная множественная выборка
  • Исходный лист: Ячейки A1, A3, A5 скопированы → Конечный лист: Вставлены ячейки A1:A5

Пояснение

Это проектное ограничение Excel. Внутренний набор данных think-cell создается на основе Excel, но является отдельным процессом Excel. Проблему можно воспроизвести без надстройки think-cell при копировании и вставке несмежных ячеек в отдельный процесс Excel.

Воспроизведение ошибки без think-cell:

  1. Откройте Excel и введите любые числа в ячейки с A1 по A5.
  2. Выберите ячейки A1, A3 и A5, удерживая нажатой клавишу CTRL и нажав на эти ячейки (как на приведенном выше снимке экрана). Скопируйте выборку.
  3. Запустите отдельный процесс Excel, нажав правой кнопкой мыши на символ Excel в панели задач и выбравMicrosoft Excel 20… Запуск отдельного процесса Excel В Excel 2013 и более поздних версиях, удерживайте при этом нажатой клавишей ALT, чтобы запустить отдельный процесс. В появившемся окне Вы хотите запустить новый экземпляр Excel? выберите вариант Да.
  4. Вставьте данные (например, нажав Ctrl + V ).

Результат: Будут также вставлены ячейки A2 и A4, которые вы не выбирали.

Мы отправили сообщение о данной проблеме в службу поддержку Microsoft Office, это заявка 112021442496011. Служба поддержки Microsoft Office сообщила, что такое поведение не отражено в документации, но ошибки нет и функция работает «как задумано».

“Такое поведение предусмотрено изначально.

При использовании буфера обмена для копирования и вставки данных вы применяете функцию, спроектированную для работы во всех офисных приложениях. Поэтому в буфере обмена для сохранения и последующей вставки данных используется HTML-код. Но в HTML-коде допустима только выборка диапазона, и вы получаете все данные в диапазоне, в том числе и не выбранные вами ячейки. В HTML-коде создается таблица, она и применяется в операции вставки. Таким образом через буфер обмена данные из Excel можно вставлять в другие офисные приложения, такие как Word, PowerPoint и другие экземпляры Excel за пределами этой рабочей книги.

При использовании сочетания клавиш Ctrl-C и Ctrl-V вместо применения буфера обмена, вы задействуете внутренний механизм копирования Excel в пределах одного экземпляра, благодаря которому копируются только выбранные ячейки. Таким образом, пользователь получает необходимую функциональность. У буфера обмена есть ограничения из-за того, что он применяется для передачи данных между всеми офисными приложениями. Ограничение буфера обмена запланировано изначально, в противном случае для простой операции копирования и вставки требовался бы огромный объем данных. Операции копирования с данными такого объема перегружали бы систему и значительно бы снижали производительность. Копия в HTML-коде — это урезанная версия внутренний копии, поэтому между ними есть различия, и тут применяются определенные ограничения.” (Служба поддержки Microsoft Office)

think-cell использует файлы cookie для улучшения функциональности, эффективности и безопасности этого веб-сайта. Если вы хотите пользоваться всеми функциями этого сайта, требуется ваше согласие. С более подробной информацией об использовании файлов cookie компанией think-cell, вашем согласии и правах на конфиденциальность данных можно ознакомиться в нашей Политике конфиденциальности.