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)]
如果除单元格引用外,公式始终相同,则只需将公式作为字符串值写到工作表中,并带有用于正确行号的变量。
类似...
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
代表公式的正确行号(据我所知是正确的)。