无法删除包含多个表的列

时间:2016-01-22 07:12:04

标签: excel vba

每当我在同一列中有两个表时,我就会收到此错误。

enter image description here

  1. 在列中创建表格(即B1:C3)
  2. 在该表下方创建另一个表(即B5:C7)
  3. 右键单击B列
    • “删除”选项是否显示为灰色(不可用)?
  4. 将第二张表格(B5:C7)转换回普通区域
  5. 右键单击B列
    • “删除”选项现在是否有效(黑色)?
  6. 这是给我的。

    我不明白为什么会这样,但如果有人能证实我并不孤单,我真的很感激。这实际上看起来像个错误。

3 个答案:

答案 0 :(得分:1)

这是不允许的,因为删除列会移动单元格为什么不通过选择表Like this

的一列来尝试删除

如果您一次选择一个表格列,请参阅屏幕截图 谢谢

答案 1 :(得分:1)

不幸的是,这是'设计行为'。 ListObject(也称为结构化)表具有许多内部机制。 Delete(column)命令不是为了枚举工作表上的所有ListObject而设计的,以查看是否与要删除的列相交,然后生成处理删除表列的子进程,同时记住这将如何影响其他ListObject表。相反,当涉及多个ListObject表时,它只是不允许删除命令。

答案 2 :(得分:1)

尝试以不同的方式组织数据,因此不会出现这些问题。

没有令人信服的理由在 ONE 表上有几个表格。如果表格放置存在行/列管理问题,请考虑将表格移动到单独的工作表。

可以通过表名在公式中引用表。对于表列也是一样的,所以如果你需要灵活的行和列管理,没有理由在一张表上保留几个表。

评论后修改用户正在使用多个表但无法更改工作表以维护不同工作表上的数据的事实可以通过不同方式解决:

  1. 教育您的用户。我非常喜欢教人们如何使用软件。如果他们了解自己在做什么,他们会感到积极。如果你让他们愚蠢并告诉他们“只是点击那里并闭嘴”他们可能会感到消极。

  2. 您可能需要重新考虑数据架构。为您的用户提供添加/编辑/删除记录的界面,该记录与数据的存储位置无关。这是2016年。数据输入和数据存储不与同一页面结合。

  3. 您正在为发烧友程序员在网站上发布您的问题。如果您有兴趣解决问题,可以将一些VBA分开您的数据输入/数据存储问题。