使用宏(Microsoft Excel)在工作表之间传输数据
伦纳德(Leonard)正在编写一个宏,以将数据从一个工作表传输到另一个工作表。两个工作表都在同一个工作簿中。他要传输的数据在第一个工作表上,并使用一个命名范围:“ SourceData”。
它由一行数据组成。伦纳德(Leonard)希望在宏中将该数据从第一个工作表传输到第二个工作表的第一个空行,但是他不确定如何执行此操作。
实际上,有几种方法可以执行此操作,但是所有方法都有两个先决条件:源范围的标识和目标范围的标识。源范围很容易,因为它已命名。您可以通过以下方式在宏中指定源范围:
Set rngSource = Worksheets("Sheet1").Range("SourceData")
弄清楚目标工作表中的第一个空白行比较棘手。这是一种相对简单的方法:
iRow = Worksheets("Sheet2").Cells(Rows.Count,1).End(xlUp).Row + 1 Set rngTarget = Worksheets("Sheet2").Range("A" & iRow)
完成后,无论第一个空行是什么,rngTarget变量都指向单元格A的范围。 (在这种情况下,空行定义为A列中没有内容的任何行。)
现在,您需要做的就是将这些源范围和目标范围与Copy方法一起使用:
Sub CopySource() Dim rngSource As Range Dim rngTarget As Range Dim iRow As Integer Set rngSource = Worksheets("Sheet1").Range("SourceData") iRow = Worksheets("Sheet2").Cells(Rows.Count,1).End(xlUp).Row + 1 Set rngTarget = Worksheets("Sheet2").Range("A" & iRow) rngSource.Copy Destination:=rngTarget End Sub
请注意,在定义了范围的情况下,您只需在源范围上使用Copy方法,然后将目标范围指定为操作的目标即可。完成后,原始数据仍在源范围内,但已复制到目标中。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(3852)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: