JOB:将RANGE从一个WORKBOOK复制到另一个(另一个工作簿存在且需要打开)
复制范围:
`Worksheets("paste").Range("A2:BD500").SpecialCells(xlCellTypeVisible).Copy`
打开新文件:
Workbooks.Open Filename:="C:\Test\test.xlsx", WriteResPassword:="WriteFile"
激活工作表并粘贴@RANGE A6
Windows("test.xlsx").Activate
Selection.Range("A6").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
问题:它不会粘贴在A6中!!!!它进入任何细胞!!!!
答案 0 :(得分:4)
如果test.xlsx工作簿中的当前选择打开到D5,则使用Dim wb As Workbook
Set wb = Workbooks.Open(Filename:="C:\Test\test.xlsx", WriteResPassword:="WriteFile")
With Worksheets("paste")
.Range("A2:BD500").SpecialCells(xlCellTypeVisible).Copy
wb.Worksheets(1).Cells(6, "A").PasteSpecial xlPasteValues
End With
引用D10,而不是A6。
www.example.com
见reverse
。打开工作簿时,不应该依赖静态单元格或单元格作为当前选择。
答案 1 :(得分:0)
在工作簿之间复制特定范围的简单方法:
Workbooks(source).Worksheets("Sheet1").Range("A2:BD500").Copy _
Workbooks(destination).Worksheets("Sheet1").Range("A6")