通过将单元格拖到另一个位置上,将其复制到Excel中,从而复制公式

问题描述 投票:-2回答:1
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)]

excel vba formula cell
1个回答
0
投票

如果除单元格引用外,公式始终相同,则只需将公式作为字符串值写到工作表中,并带有用于正确行号的变量。

类似...

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代表公式的正确行号(据我所知是正确的)。

© www.soinside.com 2019 - 2024. All rights reserved.