您好,JP。嗯,很简单:只需要打开 Excel、突出显示 C 列、按 Ctrl+C、将光标放在第二个工作表的 A1 列,然后按 Ctrl+V。这样就可以了,谢谢您的问题。
哦,对了:您想要知道如何使用脚本来执行此操作。(我们刚才在想什么呢?)但这也没关系;使用脚本执行此操作和手动执行此操作同样容易:
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Open("C:/Scripts/Test.xls")
Set objWorksheet = objWorkbook.Worksheets(2)
objWorksheet.Activate
Set objRange = objWorkSheet.Range("C1").EntireColumn
objRange.Copy
Set objWorksheet = objWorkbook.Worksheets(1)
objWorksheet.Activate
Set objRange = objWorkSheet.Range("A1")
objWorksheet.Paste(objRange)
该脚本首先创建一个 Excel.Application 对象的实例,然后将 Visible 属性设置为 True;这将使我们可以在屏幕上看到 Excel 的实例。然后使用 Open 方法打开文件 C:/Scripts/Test.xls。对于此示例脚本,我们假设此文件至少有两个工作表,并且在我们想要复制的 Sheet 2 的 C 列中有数据。
为此,我们首先创建一个对 Sheet 2(Worksheets 集合中的第二个工作表)的对象引用,然后调用 Activate 方法使该工作表成为活动工作表。以下两行代码就用来解决这个问题:
Set objWorksheet = objWorkbook.Worksheets(2)
objWorksheet.Activate
为选择 C 列,我们创建一个 Range 对象的实例,指定单元格 C1 作为起点,然后使用 EntireColumn 属性选择 C 列的其余部分。这由以下代码来实现:
Set objRange = objWorkSheet.Range("C1").EntireColumn
选择该列后,调用 Copy 方法将数据复制到剪贴板上。
现在,我们需要切换到 Sheet 1,方法是:创建对 Worksheets 集合中第一个工作表的对象引用,然后调用 Activate 方法使 Sheet 1 变成当前工作表。然后使用此行代码创建一个指向单元格 A1 的 Range 对象:
Set objRange = objWorkSheet.Range("A1")
因为我们正在粘贴数据,所以不需要选择整列;我们只需要选择起始单元格,然后调用 Paste 方法,将此方法传递到指定我们想要粘贴数据的位置的对象引用:
objWorksheet.Paste(objRange)
这样就大功告成了,而且以完全自动的方式引导。正如我们总说的(有时说的有点过早):这样就可以了,谢谢您的问题。