【问题标题】:Copy the formula in Excel as it is done by dragging the cell over to another通过将单元格拖到另一个单元格来复制 Excel 中的公式
【发布时间】:2020-04-17 10:29:11
【问题描述】:
For i = 1 To staffelRange.Rows.Count
   .DataBodyRange.Cells(i, countHeader).Formula = staffelRange.Cells(i).Formula
Next

代码按预期工作,并将公式从我的范围复制到我表中所需的范围。首先是公式,公式始终引用列标题及其左侧的单元格,如果我现在使用我的函数将代码从第 1 列复制到例如第 4 列,则公式仍然引用第 1 列而不是第 4 列。但如果我通过将公式拖到另一个单元格来复制它,公式就会适应。如何在我的代码中实现这样的调整? 公式: =$G39*(1+SVERWEIS(Stückpreise_neu_19[[#Kopfzeilen];[Staffel1]];Rabattstaffel_new_24;2;FALSCH))

【问题讨论】:

  • 我试过了,我得到一个错误,Filldown 不适用于表格中的 .range
  • 澄清一下,例如,您的公式可能引用 A1,如果您将其复制到第 4 行,则它应该引用 A4,对吗?
  • 你可能真的会添加一些截图和公式
  • 向我们展示三个公式:第 1 列中的公式、第 4 列中的公式和第 4 列中所需的公式。

标签: excel vba formula cell


【解决方案1】:

如果除了单元格引用之外公式始终相同,您可以将公式作为字符串值写入工作表,其中包含正确行号的变量。

类似...

For i = 1 To staffelRange.Rows.Count
   .DataBodyRange.Cells(i, countHeader).Formula = "=$G" & i & "*1+SVERWEIS(Stückpreise_neu_19[[#Kopfzeilen];Staffel1]];Rabattstaffel_new_24;2;FALSCH))"
Next

这是假设您的变量 i 代表公式的正确行号(我的理解是正确的)。

【讨论】:

    猜你喜欢
    • 2022-09-23
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多