首页 > 解决方案 > 在表之间复制列复制目标中的第一个单元格,而不是复制列

问题描述

我正在两个大小和格式相似的表之间复制一列公式。我可以毫无问题地在表之间复制值,但是如果我尝试复制公式,并且源数据的第一行中有一个公式,则该公式将被复制到整个目标列,而其余的源数据将被忽略. 如果源中有其他公式,只要第一行中没有其他公式,就可以正常工作。

我试过关闭自动填充

Application.AutoCorrect.AutoFillFormulasInLists = False (doesn't work)

还尝试使用:

SrcTable.DataBodyRange.Columns(1).Copy DestTable.DataBodyRange.Columns(1)  

但它会导致绝对表列引用,因此如果源公式引用其自己表中的列,它将引用该列而不是新表中的同名列(不适用于我的情况) .

DestTable.DataBodyRange.Columns(1).Formula = _
SrcTable.DataBodyRange.Columns(1).Formula

只要公式不在源列的第一行中,上面的代码就可以按我的需要工作。任何人都知道如何使它在该用例中工作,而不必单独复制第一行以避免莫名其妙的复制问题?

标签: excelvba

解决方案


推荐阅读