复制数据而不保留当前选定的单元格(Microsoft Excel)
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。