【发布时间】:2011-06-09 02:20:04
【问题描述】:
有人可以帮我写一些 VBA 代码吗?
我正在尝试在工作簿之间复制 2 个单元格范围(两个工作簿都应该预先创建,因为我不希望代码动态创建新工作簿)。
首先我需要复制这些范围- 从 booka.xls 的“表 3”,范围:单元格 H5 到 H 列中包含数据的最后一行 将此复制到 bookb.xls 的“表 1”,从单元格 B2 开始,在 B 列中向下的单元格数相同
其次,我需要复制这些范围- 从 booka.xls 的“表 3”,范围:单元格 K5 到 K 列中的最后一行数据 将此复制到 bookb.xls 的“表 1”,从单元格 D2 开始,在 D 列中向下的单元格数相同
这是我目前所拥有的:
Sub CopyDataBetweenBooks()
Dim iRow As Long
Dim wksFr As Worksheet
Dim wksTo As Worksheet
wksFr = "C:\booka.xls"
wksTo = "C:\bookb.xls"
Set wksFrom = Workbooks(wksFr).Worksheets("Sheet 3")
Set wksTo = Workbooks(wksTo).Worksheets("Sheet 1")
With wksFrom
For iRow = 1 To 100
.Range(.Cells(iRow, 8), .Cells(iRow, 9)).Copy wksTo.Cells(iRow, 8)
Next iRow
End With
End Sub
【问题讨论】:
-
列中有空格吗?
-
是的,单元格值会有所不同,但预计会有一些空白
-
查找 Workbooks.Open 函数,因为我不相信您可以像现在这样打开工作簿。如果会有空格穿插查找范围的 SpecialCells 属性。再试一次,我会帮助你完成我所拥有的。