计算机之间的VBA结果不一致 – 将公式设置为.value

我在主电脑上创build并运行了一个VBA子版本,但是笔记本电脑无法正常工作(都使用Excel 2013)。

Set headerColumn_total = ActiveWorkbook.Worksheets("Raw Consensus").ListObjects("TblConsensusTotals").ListColumns.Add colPosition = ActiveWorkbook.Worksheets("Raw Consensus").ListObjects("TblConsensusTotals").ListColumns.Count colPosition = colPosition - 1 CellValue = "=SUM(TblConsensus[" & colPosition & "])" headerColumn_total.Range.Cells(1, 1).Value = CellValue headerColumn_total.Range.Cells(1, 1).Interior.ColorIndex = 6 

代码说明:正如您所看到的,第一行将一列添加到2行表TblConsensusTotals的末尾。 然后,对列数进行计数(减1)并分配给colPosition。 CellValue是我想要的单元格的确切文本,当然也是内部颜色。

在我的主计算机上(预期):列中最顶端的单元格(表格的第一行)接收公式,第二行单元格(.Range.Cells(2,1))为空。 颜色设置是一样的。

在我的笔记本电脑(观察):列的第​​一和第二行单元格接收公式,就好像它被给予整个范围,而不仅仅是单元格(1,1)。 但是,颜色仍然只在第一个单元格,如预期。

我确定在VBA中有一个.001的版本差别,但是我不知道该怎么看。 有没有不同的方式,我可以写这个在两台计算机上都可以使用?

谢谢!

编辑:

忘了提及。 有趣的是,如果你设置了.Value =任何东西,但是一个公式(比如说.Value = 2),而不是将CellValue定义为一个包含公式的string,它可以在主和笔记本电脑上按预期工作,单细胞。 一个string是一样的。 但是,一旦在string中使用公式('='符号),它将“中断”并将该值设置为笔记本电脑上的两个单元格。

转到Excel选项 ([Alt] + F,T),然后校对 ,然后单击“ 自动更正”选项 。 转到自动更正对话框中的自动套用格式选项卡,并在工作时自动选中/取消选中选项► 填写表格中的公式以创build计算列

自动更正
罪魁祸首