2016-01-22 26 views
2

每當我在同一列中有兩個表時,就會出現此錯誤。無法刪除包含多個表的列

enter image description here

  1. 創建列的表(即,B1:C3)
  2. 創建另一個表見下表(即B5:C7)
  3. 上塔B右擊
    • 「刪除」選項是否變灰(不可用)?
  4. 轉換的第二個表(B5:C7)回到正常區域
  5. 右鍵單擊B列
    • 是現在的 「刪除」 選項活動(黑色)?

這是對我來說。

我不明白爲什麼會發生,但我真的很感激,如果有人能證實我並不孤單。這實際上看起來像一個錯誤。

+1

這是'行爲設計'。 ListObject(aka * structured *)表具有許多內部機制。刪除(列)命令不是爲了枚舉工作表上的所有ListObjects,以查看是否有任何與要刪除的列交叉,然後產生專門處理刪除表列的子流程。相反,當涉及多個ListObject表時,它不允許使用Delete命令。 – Jeeped

+1

發表您的評論作爲答案,我會接受它。 :)我已經發現我的「解決方案」將循環應刪除的特定列中的所有表,並保存它們的地址(減一列!)和表名。然後,我將取消列出所有這些表,刪除該列,然後再次重新創建所有表。如果我可以這樣說,相當不錯的解決方法。 – TAKL

回答

1

不幸的是,這是'設計行爲'。 ListObject(aka結構化)表具有許多內部機制。刪除(列)命令不是爲了枚舉工作表上的所有ListObjects,以查看是否有任何與要刪除的列相交,然後生成專門處理刪除表列的子進程,同時牢記這將如何影響其他ListObject表。相反,當涉及多個ListObject表時,它不允許使用Delete命令。

1

這是不允許的可能是因爲刪除列將移動單元格你爲什麼不嘗試通過選擇表Like this

看你能做到這一點的截圖中的一列,如果你選擇在一個表中的一列刪除時間 謝謝

+1

這並沒有解決爲什麼你可以刪除一個完整列的原因,如果它與單個表相交但不超過一個表。 – Jeeped

+0

但答案給出了一個線索,你可以通過一次選擇一張桌子來做到這一點 –

+0

好主意。但是,因爲我在同一工作表中的其他列中有更多的表,所以不能像您所建議的那樣刪除表列。假設有三個表格= B1:C3,B5:C7和F2:G8。嘗試刪除第一個表格中的表格列。它不會工作。 – TAKL

1

嘗試以不同方式組織數據,因此不會發生這些問題。

ONE工作表上沒有任何令人信服的理由。如果表格放置在行/列管理方面存在問題,請考慮將表格移動到單獨的工作表。

通過表名可以在公式中引用表。對於表列,同上,所以如果您需要行列管理靈活性,那麼確實沒有理由在一張表上保留多個表格。評論用戶與幾個表工作,不能指望改變牀單,以保持在不同的表數據的事後

編輯可以用不同的方式來解決:

  1. 教育你的用戶。我是教人們如何使用軟件的忠實粉絲。如果他們明白他們在做什麼,他們會感到樂觀。如果你讓他們啞巴,並告訴他們「只需點擊並閉嘴」,他們可能會感到消極。

  2. 您可能需要重新考慮您的數據架構。爲您的用戶提供一個界面,用於添加/編輯/刪除獨立於數據存儲位置的記錄。這是2016年。數據輸入和數據存儲不結婚到同一頁面。

您正在發佈您的問題在愛好者程序員的網站。如果您有興趣解決這個問題,可以使用一點VBA分離您的數據輸入/數據存儲問題。

+0

在這種情況下,令人信服的原因是,將這些表格放在一張表格中時,處理這些表格更爲容易。如果我按照你的建議(每張表一張表),用戶將有超過10張表單來切換,以添加或刪除數據。另一個想法是不從所有這些數據類型創建表格,但是我發現在編碼時使用表格很容易。 – TAKL

+0

您可能需要重新考慮您的數據架構。爲您的用戶提供一個界面,用於添加/編輯/刪除獨立於數據存儲位置的記錄。這是2016年。數據輸入和數據存儲不結婚到同一頁面。使用工具。 – teylyn

+1

我在你的評論後編輯了我的答案 – teylyn