Сильвия может создать набор ячеек для выбора, так что у нее будет выбран несмежный диапазон ячеек. Если она попытается скопировать эти ячейки с помощью Ctrl + C , Excel сообщит ей, что «это действие не будет работать с множественным выбором». Сильвия задается вопросом, есть ли способ скопировать несмежный диапазон, а затем вставить этот диапазон, чтобы ячейки находились в том же относительном положении, что и в исходном выделении.
Очевидно, это ограничение разрешает только копирование и вставка смежных диапазонов – вот способ работы Excel. Единственный способ скопировать и вставить несмежный диапазон – это использовать макрос, который проходит через каждую ячейку в выделенном фрагменте и вставляет его относительно целевого адреса. Ниже приведен пример:
Sub CopyPasteCells () Dim sTemp As String Dim sTarget As String Dim c As Range Dim pasteRng As Range sTemp = InputBox («Целевая ячейка?») STarget = Trim (sTemp ) Если sTarget> «», то установите pasteRng = ActiveSheet.Range (sTarget) для каждого c в выделенном c.Copy pasteRng.Range (c.Address) .PasteSpecial xlPasteValues Next End If Application.CutCopyMode = FalseEnd Sub
Чтобы использовать макрос, просто создайте свой набор ячеек. Затем запустите макрос и укажите целевую ячейку для вставки. Ячейки вставляются относительно этой целевой ячейки на текущем листе.
Следует отметить, что макрос выполняет очень небольшую проверку ошибок. Например, вы можете ввести какой-нибудь полностью поддельный адрес целевой ячейки, и макрос попытается учесть ваш запрос. (Если целевой адрес слишком фиктивный, вы получите сообщение об ошибке.)
Источник: