Excel VBA 设置单元格公式错误

发布于 2024-09-11 11:33:25 字数 460 浏览 2 评论 0原文

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

  1. 创建一个表格
  2. 插入大约五行单击
  3. (选择)列中的一个单元格
  4. 执行以下代码:

    子集CellFormula() Selection.Formula = "=myFormula()" 结束子

    函数 myFormula() 作为整数 我的公式 = 1 End Function

  5. 请注意,整列都填充了数字一

  6. 删除单元格中的数据
  7. 在任意单元格中输入任意值
  8. 选择除以下以外的单元格包含值的单元格
  9. 重新执行步骤 4
  10. 请注意,只有选定的单元格填充了数字 1

This one has me stumped. When I set the formula for a selected cell in a ListObject, if the ListColumn is empty, Excel fills the formula for the whole column, rather than just the Selection. I have duplicated this in a separate workbook.

  1. Create a Table
  2. Insert a five or so rows
  3. Click on (select) one of the cells in the column
  4. Execute the following code:

    Sub setCellFormula()
    Selection.Formula = "=myFormula()"
    End Sub

    Function myFormula() As Integer
    myFormula = 1
    End Function

  5. Note that the whole column is filled with the numeral one

  6. Delete the data in the cells
  7. Enter any value in any of the cells
  8. Select a cell other than the cell with a value in it
  9. Re-execute step 4
  10. Note that only the selected cell is filled with the numeral one

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灯角 2024-09-18 11:33:25

我的经验是,无论 VBA 如何,表的行为都如您在 XL 2007 中所描述的那样,列表的行为如您在 XL 2003 中所希望的那样。但是,在 2007 中,您可以告诉它“停止创建计算列”。所以我猜这不是代码问题,而是由于版本之间的不同行为或 XL 2007 的两个实例的不同设置而导致的问题。

My experience is that, regardless of VBA, Tables behave as you have described in XL 2007, and Lists behave as you'd prefer in XL 2003. However in 2007 you can tell it to "stop creating calculated columns." So I'd guess it's not a code issue, but an issue due to different behavior between versions, or different settings for two instances of XL 2007.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文