Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将单元格拖到另一个单元格上,复制Excel中的公式_Excel_Vba_Formula_Cell - Fatal编程技术网

将单元格拖到另一个单元格上,复制Excel中的公式

将单元格拖到另一个单元格上,复制Excel中的公式,excel,vba,formula,cell,Excel,Vba,Formula,Cell,代码按预期工作,并将公式从我的范围复制到我表格中所需的范围。首先是公式,公式始终引用列标题及其左侧的单元格,如果我现在使用函数将代码从列1复制到例如列4,则公式仍然引用列1而不是列4。但是,如果我通过将公式拖到另一个单元格来复制它,则公式将进行调整。如何在代码中实现这样的调整? 公式: =$G39*1+SVERWEISStückpreise_neu_19[[Kopfzeilen];[Staffel1];Rabattstaffel_new_24;2.法尔希 如果公式除单元格引用外始终相同,则可以将

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


如果公式除单元格引用外始终相同,则可以将公式作为字符串值写入工作表,并使用正确行号的变量

类似于

For i = 1 To staffelRange.Rows.Count
   .DataBodyRange.Cells(i, countHeader).Formula = staffelRange.Cells(i).Formula
Next

这是假设您的变量i表示公式的正确行号,据我所知是正确的

也许。我试过了,我得到了一个错误,Filldown不适用于表格中的.range来澄清,例如,您的公式可能引用A1,如果您将其复制到第4行,那么它应该引用A4,是吗?您可能真的添加了一些屏幕截图,公式向我们展示了三个公式:第1列中的公式,第4列中的公式和第4列中所需的公式。
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