我试图将选定范围的单元格从一个工作簿复制到另一个工作簿 . 这是我在第一个工作簿中使用的选择范围和复制代码:
Sub Copy()
'This selects the range of active cells, adds a border and copies all data.
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
End Sub
虽然这会选择并复制第一个工作簿中的单元格,但我很难将其与将其粘贴到另一个工作簿中的宏相结合 . 下面是一个宏的示例,它将数据从一个工作簿粘贴到另一个工作簿:
Sub Paste()
Dim x As Workbook
Dim y As Workbook
'## Open both workbooks first:
Set x = Workbooks.Open(" path to copying book ")
Set y = Workbooks.Open(" path to destination book ")
'Now, transfer values from x to y:
y.Sheets("sheetname").Range("A1").Value = x.Sheets("name of copying sheet").Range("A1")
'Close x:
x.Close
End Sub
两件事情:
-
包含初始数据的第一个工作簿不是我计算机上保存的文档 . 它's an exported sheet from the internet I am trying to paste into a saved workbook on my computer. Therefore, I don' t认为可以获得第一个工作簿的文件路径或工作表名称 .
-
我希望将数据粘贴到第二个工作簿的A列中的第一个可用空白单元格中 . 我相信代码是这样的:
CurrentRow = Range("A1").End(xlDown).Offset(1, 0).Row
然后显然粘贴到从A列开始的那一行 .
有人可以帮我把这两个代码合二为一吗?
非常感谢你!
1 回答
以下是我最近使用过的两段代码片段,可以帮助您解决困境 .
第一个代码允许您按名称(或Office Documentation所述的索引)查找特定工作表 . 这不需要您指定工作簿,因为它循环遍历所有当前打开的工作表 .
下一个代码片段(我不能理解,但丢失了原始信息),它将在指定的工作表中搜索包含在内的任何和所有数据,并创建一个具有找到的单元格范围的范围对象 .
(这可能不是你想要的,因为我不确定你的问题是关于你是想要所有的数据还是只是一个选择) .
一旦你有了一个范围对象,你可以做很多事情,但只需将值插入另一个工作表: