【发布时间】:2019-05-09 09:50:21
【问题描述】:
我正在尝试选择工作表中的单元格并将它们导出到新文档。
工作表有多个列,但是我只想选择从 C 到 E 的列,从第四行到 E 列中非空白的最后一行。
我写的代码如下:
Sub SelectExcelCopy()
Dim appWD As New Word.Application
appWD.Visible = True
Range("C4", Range("E4").End(xlDown).End(xlToRight)).Copy
appWD.Documents.Add
appWD.Selection.Paste
appWD.ActiveDocument.SaveAs Filename:="File 1"
appWD.ActiveDocument.Close
appWD.Quit
End Sub
代码在新的 Excel 工作表中按预期工作(仅用于测试目的),但在我当前的工作簿中却没有。 我当前工作簿中的工作表充满了从 A 列到 C 列的大量数据。即使在 E 列中只有两个条目(E4 和 E5),word 文档中的表格也有 44 列和 134 行。
我已经验证了工作表,并且 E 列中的单元格是空白的,除了我希望它们在表格中的单元格。
为了实现我的目的,我应该对代码进行哪些更改? 谢谢!
【问题讨论】:
-
您选择的范围有误。您需要设置最后一行变量并使用类似这样的东西...
Range("A1:D" & lRow).Copy不要在最后一行变量中使用 D 列