gpt4 book ai didi

excel - 如何使用 VBA 从可变 Excel 工作簿中复制数据?

转载 作者:行者123 更新时间:2023-12-04 21:05:14 25 4
gpt4 key购买 nike

我想根据场景复制变量其他工作簿的内容(例如:我想从工作簿 data2013 或 data2014 等复制数据)。通过使用以下宏,我已经能够使用特定的工作簿来做到这一点。现在我希望“\data2013.xls”根据场景而改变。我已经创建了一个函数,它将生成正确的 Cell 路径:RawData!$A$2。我以为我可以使用变量,但我对 VBA 很陌生,你能帮帮我吗?

Sheets("RawData").Select
Workbooks.Open Filename:=ThisWorkbook.Path & "\data2013.xls"
Sheets("Documents").Select
ActiveSheet.Unprotect
ActiveSheet.ShowAllData
Range("$A$4:$T$65536").Select
Selection.Copy
Windows("Reports.xls").Activate
Range("C1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select

最佳答案

首先,让我们删除不需要的和不需要的“选择”语句。

' don't use 655536 as after Excel 2007 there will be gazillions of possible rows...
Range("$A$4:$T$" & activesheet.rows.count).Copy Destination:=workbooks("Reports.xls").range("C1")
Sheets("Documents").Unprotect
ActiveSheet.ShowAllData
Range("$A$4:$T$65536").Copy Destination:=workbooks("Reports.xls").range("C1")

接下来,使用变量作为源数据首先声明它:
dim sSrcBook as string

然后设置它的值:
sSrcBook="\data2013.xls"

然后使用它
Workbooks.Open Filename:=ThisWorkbook.Path & sSrcBook
Sheets("Documents").Unprotect
ActiveSheet.ShowAllData

' don't use 655536 as after Excel 2007 there will be gazillions of possible rows...
Range("$A$4:$T$" & activesheet.rows.count).Copy Destination:=workbooks("Reports.xls").range("C1")
workbooks(sSrcBook").close false ' close without saving changes

您可以遍历一系列单元格,将不同的路径放入源工作簿变量

希望这会有所帮助,如果您需要更多帮助,请编辑您的问题或发表评论

关于excel - 如何使用 VBA 从可变 Excel 工作簿中复制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23858004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com