gpt4 book ai didi

VBA:如何同时引用两个工作簿中的单元格

转载 作者:行者123 更新时间:2023-12-04 21:35:13 24 4
gpt4 key购买 nike

我正在编写一个宏来将数据从报告文件移动到主文件中。我的初始版本可以工作,但是速度很慢并且闪烁很多。这并不奇怪,因为我使用的是 Workbook.Activate() .我是故意这样做的,为了最初的简单性和帮助调试。

但是,既然它工作正常,我想停止使用 Workbook.Activate() .

我如何在两个单独的工作簿中引用单元格,而无需一直访问它们中的每一个?我不介意一开始有几次闪烁,在进行初始化时,但在那之后我希望不再有。

我在一个简单的测试子中试过这个:

Sub try()
Dim c As Range
Dim c1 As Range

Workbooks(MASTER_FILE_NAME).Activate
Set c = Cells(25, 1)
Workbooks(REPORT_FILE_NAME).Activate
Set c1 = Cells(10, 1)
c.Value = c1.Value

Set c = Cells(c.Row + 1, c.COLUMN)
Set c1 = Cells(c1.Row + 1, c.COLUMN)
c.Value = c1.Value
End Sub

但是第三个 block 只是将两个范围都设置为指向报告文件中的单元格。我需要使用命名范围吗?我真的宁愿不要。也许还有另一种方法?

最佳答案

Sub try()
Dim c As Range
Dim c1 As Range

Set c = Workbooks(MASTER_FILE_NAME).sheets("azzeetr").Cells(25, 1)

Set c1 = Workbooks(REPORT_FILE_NAME).sheets("dfdsfvsdfvs").Cells(10, 1)
c.Value = c1.Value

Set c = c.offset(1)
Set c1 = c1.offset(1)

End Sub

记住“单元格”假定为“activewrokbook.activesheet”。

关于VBA:如何同时引用两个工作簿中的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39974642/

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