Копирование и вставка несмежных диапазонов ячеек (Microsoft Excel)
Сильвия может создать набор ячеек для выбора, так что у нее будет выбран несмежный диапазон ячеек. Если она попытается скопировать эти ячейки с помощью 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.