Szilvia可以创建一组选择单元格,这样她就可以选择非连续范围的单元格。如果她尝试使用Ctrl + C复制这些单元格,则Excel会通知她“此操作不适用于多个选择”。 Szilvia想知道是否有一种方法可以复制一个非连续范围,然后粘贴该范围,以便单元格与原始选择中的相对位置相同。

显然,仅允许您复制和粘贴连续范围的限制是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和Office 365中的Excel。