Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.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 VBA设置单元格公式错误_Excel_Excel Formula_Vba - Fatal编程技术网

Excel VBA设置单元格公式错误

Excel VBA设置单元格公式错误,excel,excel-formula,vba,Excel,Excel Formula,Vba,这件事把我难住了。当我为ListObject中的选定单元格设置公式时,如果ListColumn为空,Excel将填充整个列的公式,而不仅仅是所选内容。我已在单独的工作簿中复制了这一点 创建一个表 插入五行左右的行 单击(选择)列中的一个单元格 执行以下代码: 子集合单元格公式() Selection.Formula=“=myFormula()” 端接头 函数myFormula()为整数 myFormula=1 端函数 请注意,整列都用数字1填充 删除单元格中的数据 在任意单元格中输入任意值 选择

这件事把我难住了。当我为ListObject中的选定单元格设置公式时,如果ListColumn为空,Excel将填充整个列的公式,而不仅仅是所选内容。我已在单独的工作簿中复制了这一点

  • 创建一个表
  • 插入五行左右的行
  • 单击(选择)列中的一个单元格
  • 执行以下代码:

    子集合单元格公式() Selection.Formula=“=myFormula()” 端接头

    函数myFormula()为整数 myFormula=1 端函数

  • 请注意,整列都用数字1填充

  • 删除单元格中的数据
  • 在任意单元格中输入任意值
  • 选择一个单元格,而不是其中包含值的单元格
  • 重新执行步骤4
  • 请注意,只有选定的单元格中填充了数字1

  • 我的经验是,不管VBA如何,表的行为都与您在XL 2007中描述的一样,列表的行为与您在XL 2003中希望的一样。但是,在2007年,您可以告诉它“停止创建计算列”。因此,我猜这不是代码问题,而是版本之间的行为不同,或者XL 2007的两个实例的设置不同造成的问题。

    我的经验是,不管VBA如何,表的行为都与您在XL 2007中描述的一样,在XL 2003中,列表的行为与您喜欢的一样。但是在2007年,你可以告诉它“停止创建计算列”。所以我猜这不是代码问题,而是版本之间的行为不同,或者XL 2007的两个实例的设置不同造成的问题。

    另一个有趣的消息是,这并不是在每台电脑上都会发生。它在我的电脑上工作正常,另一个有趣的小道消息是,这并不是在每台电脑上都会发生。它在我的电脑上运行良好,但在其他电脑上却不会。这是正确的想法。在另一个论坛上的回复给出了更多的细节,让我对这个问题有了更深的理解。单击Office按钮-->校对-->自动更正选项-->选择“键入时自动格式化”选项卡。有一个“在表格中填充公式以创建计算列”选项。如果启用此选项并在空列的单个单元格中输入公式,Excel将用公式填充整个列。一篇描述这种行为和处理方法的文章位于:@sheepez,geez,你太固执了。这是正确的想法。在另一个论坛上的回复给出了更多的细节,让我对这个问题有了更深的理解。单击Office按钮-->校对-->自动更正选项-->选择“键入时自动格式化”选项卡。有一个“在表格中填充公式以创建计算列”选项。如果启用此选项并在空列的单个单元格中输入公式,Excel将用公式填充整个列。一篇描述这种行为和处理它的选择的文章位于:@sheepez,geez,你太固执了。