【问题标题】:Excel VBA - loop to fill up ranges with formulas referencing to other rangesExcel VBA - 循环以引用其他范围的公式填充范围
【发布时间】:2016-02-05 22:55:50
【问题描述】:

我有 2 个工作表(sht1、sht2),两者的大小范围相似,我需要参考从 sht2 到 sth1 的公式。

示例: 在 sht2 上添加公式到范围 I10:K11 链接到 sht1 范围 B2:D3 下一个 在 sht2 上添加公式到范围 I20:K21 链接到 sht1 范围 B6:D7 等等,只要有范围

有数百个这样的范围,但在两张纸上彼此之间的距离不同,而且范围之间还有其他东西,所以我不能只填充整张纸。 sht1 和 sht2 上的范围之间的距离是恒定的,只是彼此不同。

用 sht1 的公式填充 sht2 上的范围的最佳方法是什么?我应该只在单元格中使用整数,然后将整数移动循环之间的已知距离吗?

【问题讨论】:

  • 使用For i = <something> to <something else> STEP <stagger>,其中交错是恒定距离。对i 应用一些基本的数学知识,以实现第二次交错。

标签: vba excel


【解决方案1】:

与我的评论相反,使用Range.Offset property 可能更容易弄清楚交错背后的数学。使用 .Offset 提供起点,Range.Resize property 重塑目标区域。

Sub staggerLink()
    Dim r As Long, sht1 As Worksheet

    Set sht1 = Worksheets("sht1")

    With Worksheets("sht2")
        For r = 0 To 99
            .Cells(10, 9).Resize(2, 3).Offset(r * 10, 0).Formula = _
                Chr(61) & sht1.Cells(2, 2).Offset(r * 4, 0).Address(False, False, external:=True)
        Next r
    End With
End Sub

除了“数百个这样的范围”之外,您没有为您的项目提供任何范围,所以我只是跑了 100 次。此外,除了必须“链接到 sht1”之外,您没有提供任何示例甚至描述您的“公式”,这就是我提供的公式。

【讨论】:

  • 这实际上完全符合我的要求。谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-08-03
  • 1970-01-01
  • 2018-07-04
  • 1970-01-01
  • 1970-01-01
  • 2014-05-07
  • 1970-01-01
  • 2019-05-05
相关资源
最近更新 更多