将多个列从一个工作簿转移到另一个工作簿

塔可钟

我想将多个列转移到名为“我的数据”的新工作簿中,并将其分别转移到指定的列。我已经尝试过此代码,但是它太长了,我想尝试使其简短,一旦过程完成,我想关闭新工作簿,也不确定如何操作。

Sub transfer()
Dim MyData As Workbook
Dim DataWs As Worksheet
Dim myWs As Worksheet
Set myWs = ThisWorkbook.Sheets("FinalinputFile")
Set MyData = Workbooks.Open("D:\Desktop\My\MyData.xlsx")
Set DataWs = MyData.Sheets("Data")
myWs.Range("C3:C11000").Copy
DataWs.Range("E2").PasteSpecial xlPasteAll

Set myWs = ThisWorkbook.Sheets("FinalinputFile")
Set MyData = Workbooks.Open("D:\Desktop\My\MyData.xlsx")
Set DataWs = MyData.Sheets("Data")
myWs.Range("E3:E11000").Copy
DataWs.Range("F2").PasteSpecial xlPasteAll

Set myWs = ThisWorkbook.Sheets("FinalinputFile")
Set MyData = Workbooks.Open("D:\Desktop\My\MyData.xlsx")
Set DataWs = MyData.Sheets("Data")
myWs.Range("G3:G11000").Copy
DataWs.Range("G2").PasteSpecial xlPasteAll

Set myWs = ThisWorkbook.Sheets("FinalinputFile")
Set MyData = Workbooks.Open("D:\Desktop\My\MyData.xlsx")
Set DataWs = MyData.Sheets("Data")
myWs.Range("I3:I11000").Copy
DataWs.Range("H2").PasteSpecial xlPasteAll

Set myWs = ThisWorkbook.Sheets("FinalinputFile")
Set MyData = Workbooks.Open("D:\Desktop\My\MyData.xlsx")
Set DataWs = MyData.Sheets("Data")
myWs.Range("K3:K11000").Copy
DataWs.Range("I2").PasteSpecial xlPasteAll

Set myWs = ThisWorkbook.Sheets("FinalinputFile")
Set MyData = Workbooks.Open("D:\Desktop\My\MyData.xlsx")
Set DataWs = MyData.Sheets("Data")
myWs.Range("M3:M11000").Copy
DataWs.Range("J2").PasteSpecial xlPasteAll


Set myWs = ThisWorkbook.Sheets("FinalinputFile")
Set MyData = Workbooks.Open("D:\Desktop\My\MyData.xlsx")
Set DataWs = MyData.Sheets("Data")
myWs.Range("U3:U11000").Copy
DataWs.Range("M2").PasteSpecial xlPasteAll


  MyData.Save

  End Sub
瑟琳

这部分代码

Set myWs = ThisWorkbook.Sheets("FinalinputFile")
Set MyData = Workbooks.Open("D:\Desktop\My\MyData.xlsx")
Set DataWs = MyData.Sheets("Data")

即使在每次都相同的情况下被重复,您的代码没有它也应该没问题,因此您可以通过删除重复来缩短代码。

另外,关闭工作簿的代码是,Workbooks("MyData").Close但是您必须保存它,最好像这样称呼全名Workbooks("MyData").Save

所以你的最终代码看起来像

Sub transfer()
Dim MyData As Workbook
Dim DataWs As Worksheet
Dim myWs As Worksheet
Set myWs = ThisWorkbook.Sheets("FinalinputFile")
Set MyData = Workbooks.Open("D:\Desktop\My\MyData.xlsx")
Set DataWs = MyData.Sheets("Data")

myWs.Range("C3:C11000").Copy
DataWs.Range("E2").PasteSpecial xlPasteAll
myWs.Range("E3:E11000").Copy
DataWs.Range("F2").PasteSpecial xlPasteAll
myWs.Range("G3:G11000").Copy
DataWs.Range("G2").PasteSpecial xlPasteAll
myWs.Range("I3:I11000").Copy
DataWs.Range("H2").PasteSpecial xlPasteAll
myWs.Range("K3:K11000").Copy
DataWs.Range("I2").PasteSpecial xlPasteAll
myWs.Range("M3:M11000").Copy
DataWs.Range("J2").PasteSpecial xlPasteAll
myWs.Range("U3:U11000").Copy
DataWs.Range("M2").PasteSpecial xlPasteAll 

Workbooks("MyData").Save
Workbooks("MyData").Close

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将溢出的内容从一个div转移到另一个

XLwings,将值从一个工作簿复制到另一个工作簿?

将多个工作簿中的数据复制并粘贴到另一个工作簿中的工作表中

在不使用剪贴板的情况下将评论从一个工作表转移到另一个工作表

将图像从一个工作簿复制到另一工作簿

将粘贴自动范围从一个工作簿复制到另一个工作簿

从一个工作簿复制到另一个工作簿时,将创建一个“不需要的”工作簿

将特殊值从一个工作簿粘贴到另一个工作簿

将列从一个工作簿复制到另一个工作簿

SwiftUI-将工作表转移到另一个视图

需要帮助将范围从一个工作簿转移到另一个工作簿,每个范围都移到单独的工作表中

将数据从一个工作簿推送到另一个工作簿

如何通过CRM 2011内部部署中的工作流将记录从一个视图转移到另一个视图

将帖子从一个博客转移到另一个博客?

将收集对象从一个jsp转移到另一个

将数据从一个$ state转移到另一个

将大量选定的数据从一个工作簿移动到另一个工作簿

将变量从一个工作簿转移到另一个工作簿vba

将数据从一个工作簿复制到另一工作簿

将变量从一个功能转移到另一个功能

将特定列(近 250 个)从一个 Excel 工作簿迁移到另一个

将数据从一个工作簿复制到另一个工作簿工作表

从一个工作簿的工作表复制到另一个工作簿时出错

VBA通过粘贴公式将价值从一个工作簿转移到另一个工作簿

使用 Openpyxl 将数据从一个工作簿移动到另一个工作簿

使用 vba 将数据从一个工作簿传输到另一个工作簿

使用 openpyxl 将单元格值列从一个工作簿复制到另一个工作簿

根据列标题将数据从一个工作簿转移到另一个工作簿

将用户故事或错误从一个积压工作转移到另一个积压工作