Henri希望将源单元格中包含的数据复制到目标单元格,而无需在工作表上保留当前位置。

换句话说,他想从单元格A1复制到单元格AE459,而无需将其当前位置保留在V104。他想知道是否可以进行这样的编辑。

当然,显而易见的方法是将公式= A1放入单元AE459中。然后,Excel负责确保两个单元格相等。您也可以在工作表上打开第二个窗口,并在该窗口中进行复制;在原始窗口中选择的单元格(单元格V104)将保持不变。

但是,如果您实际上要执行“复制”操作,而无需打开第二个窗口,则需要诉诸宏。

在宏中从一个单元复制到另一个单元非常容易。例如,以下示例将单元格A1的内容复制到AE459,而不会影响您当前选择的任何单元格:

Sub CopyCell1()

'   Copy the cell value to destination cell     Range("AE459") = Range("A1")

End Sub

如果要将单元格A1中的公式复制到目标,则需要修改复制的方式。具体来说,您需要使用将目标范围作为参数的Copy方法。

Sub CopyCell2()

'   Copy the relative formula to destination     Range("A1").Copy Range("AE459")

End Sub

当然,这些宏的一个缺点是它们是静态的,它们仅从单元格A1复制到单元格AE459。如果您的复制需求可能有所不同,则可能需要考虑在VB编辑器的“即时”窗口中执行任务。只需弹出打开编辑器,然后在相应的宏中输入单行即可。复制完成后,您可以关闭编辑器,而不会影响所选的任何单元格。

为宏的源和目标提供一些灵活性的另一种方法是让它(宏)提示用户输入源和目标。下面的宏采用这种方法。

Sub CopyCell3()

Dim SrceCell As String     Dim DestCell As String

SrceCell = InputBox("Copy From Cell ...")

DestCell = InputBox("Copy To Cell ...")

Range(DestCell) = Range(SrceCell)

End Sub

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(9949)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。