gpt4 book ai didi

vba - Excel vba : copy values in a range to another workbook using R1C1 formula

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

我想使用 R1C1 将工作簿范围内的值复制到另一个工作簿中。公式而不是 A1公式(因为我想稍后在我的代码中用整数变量替换行值)。

所以这段代码对我有用:

 Sub test()
Dim x, y As Workbook

Set x = ThisWorkbook
Set y = Workbooks.Open("myfilepath")

x.Sheets(1).Range("A1:B1").Copy
y.Sheets(1).Range("A32:B32").PasteSpecial

End Sub

但是,如果我尝试这样的事情(我认为这是等效的)它不起作用(我得到一个 '1004' error at x.Sheets(1).Range(Cells(1, 1), Cells(1, 2)).Copy ):
Sub test()
Dim x, y As Workbook

Set x = ThisWorkbook
Set y = Workbooks.Open("myfilepath")

x.Sheets(1).Range(Cells(1, 1), Cells(1, 2)).Copy
y.Sheets(1).Range(Cells(32, 1), Cells(32, 2)).PasteSpecial

End Sub

有人可以解释为什么它不起作用以及如何使用整数变量来定义我的行而不是字母吗?

最佳答案

您必须为 Cells 指定父对象, 喜欢

x.Sheets(1).Range(x.Sheets(1).Cells(1, 1), x.Sheets(1).Cells(1, 2)).Copy
y.Sheets(1).Range(y.Sheets(1).Cells(32, 1), y.Sheets(1).Cells(32, 2)).PasteSpecial

对于更紧凑的代码,您可以使用 With block :
With x.Sheets(1)
.Range(.Cells(1, 1), .Cells(1, 2)).Copy
End With
With y.Sheets(1)
.Range(.Cells(32, 1), .Cells(32, 2)).PasteSpecial
End With

希望这可能会有所帮助。

关于vba - Excel vba : copy values in a range to another workbook using R1C1 formula,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36222892/

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