gpt4 book ai didi

VBA:插入具有动态范围和相对引用的公式

转载 作者:行者123 更新时间:2023-12-03 01:47:16 26 4
gpt4 key购买 nike

我进行了大量的搜索和反复试验,但仍然无法找到我的问题的答案。

我想使用引用sheet1中动态范围的公式填充sheet2中的范围。我已经使用了下面粘贴的代码段,到目前为止它工作得很好。

Dim rng as Range
Dim x as Integer

Set rng=worksheets(sheet2).Range("J6:J9")
x = 21

With sheet1
LastCol = .Cells(21, .Columns.Count).End(xlToLeft).Column
End With

For Each c In rng
c.Formula = "=sheet1!" & Cells(j, LastCol).Address
j = j + 1
Next c

我的问题是这段代码创建了一个绝对引用,并且我需要一个相对(或混合)引用,因为我需要稍后能够对单元格进行一些“拖动”。我尝试过使用 FormulaR1C1,但无法使其与动态范围一起使用。

如果有人可以帮助我,我会非常高兴,如果您需要我解释任何事情,请随时询问:)

最佳答案

或者您实际上正在寻找这个:

.Address(RowAbsolute:=False, ColumnAbsolute:=False)

该地址有 5 个属性 - .Address(RowAbsolute、ColumnAbsolute、ReferenceStyle、External、RelativeTo)

就 .Address 中 5 中的前两个参数而言,您可以这样调用它们:

.Address(False, False)

或者甚至像这样:

.Address(0, 0)

还有 Peh 已经提到的一些额外提示 - 不要在 VBA 中使用整数 - Why Use Integer Instead of Long?

关于VBA:插入具有动态范围和相对引用的公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43653585/

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