Сильвия может создать набор ячеек для выбора, так что у нее будет выбран несмежный диапазон ячеек. Если она попытается скопировать эти ячейки с помощью Ctrl + C, Excel сообщит ей, что «это действие не будет работать с множественным выбором». Сильвия задается вопросом, есть ли способ скопировать несмежный диапазон, а затем вставить этот диапазон, чтобы ячейки находились в том же относительном положении, что и в исходном выделении.

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

Sub CopyPasteCells()

Dim sTemp As String     Dim sTarget As String     Dim c As Range     Dim pasteRng As Range

sTemp = InputBox("Target cell?")

sTarget = Trim(sTemp)

If sTarget > "" Then         Set pasteRng = ActiveSheet.Range(sTarget)

For Each c In Selection             c.Copy             pasteRng.Range(c.Address).PasteSpecial xlPasteValues         Next     End If     Application.CutCopyMode = False End Sub

Чтобы использовать макрос, просто создайте свой набор ячеек. Затем запустите макрос и укажите целевую ячейку для вставки. Ячейки вставляются относительно этой целевой ячейки на текущем листе.

Следует отметить, что макрос очень мало проверяет ошибки. Например, вы можете ввести какой-нибудь полностью поддельный адрес целевой ячейки, и макрос попытается учесть ваш запрос. (Если целевой адрес слишком фиктивный, вы получите сообщение об ошибке.)

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (5228) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.