當您嘗試在 Excel 中插入或隱藏列或欄時出現錯誤訊息:「無法將物件移離工作表」

症狀

您嘗試執行下列其中一項作業:

  • 隱藏 Microsoft Excel 中的資料欄。
  • 在 Excel 中插入列或欄。
     

當您執行任一作業時,可能會收到下列錯誤訊息:

注意

無法將物件移離工作表。

若要判斷與您收到的訊息相關聯的唯一數位,請按 CTRL+SHIFT+I。 下列數位會出現在此訊息的右下角:

注意

100185

原因

如果下列條件成立,便會發生此錯誤訊息:

  • 已在 Excel 選項對話方塊的 [此活頁簿的顯示選項] 區段中選取 [不 (隱藏物件) ] 選項。
  • 您可以在欄中的任何儲存格中建立物件,例如儲存格註解。
  • 您可以嘗試隱藏包含物件之欄左側的欄、包含物件的欄,或包含物件之欄右側的所有欄。 或者,在某些情況下,您會嘗試在工作表中插入列或欄。
     

例如,如果您在儲存格 IR1 中放置儲存格註解,然後嘗試隱藏欄 IQ:IS 同時 () ,就會發生這個問題。

此外,當工作表上有隱藏物件時,也會出現此錯誤訊息。

注意:大多數可以插入工作表的物件都會發生此問題。 這包括但不限於儲存格註解、圖形、繪圖圖案和圖片。 特別注意儲存格註解。 根據預設,與大部分物件不同,儲存格註解是隱藏的,而且可能不會立即顯示。

此外,如果您嘗試隱藏包含物件的欄以及包含物件的欄右側的所有欄,則可能會收到錯誤訊息。 這取決於包含物件的欄的位置。 .

解決方式

若要解決此問題,請依照適用於您 Excel 版本的方法中的步驟執行。 在 Excel 2007 中,使用方法 1。 在 Excel 2003、Excel 2002 和 Excel 2000 中,使用方法 2。

方法 1:暫時將選項從 [不 (隱藏物件) ] 切換為 [全部]

在 Excel 2007 中,暫時將選項從 [無] 切換 ([隱藏物件]) [全部],然後視需要插入列或欄。 若要這麼做,請按照下列步驟進行:

  1. 在 Excel 視窗左上角,按一下 [Microsoft Office] 按鈕。
  2. 在功能表底部,按一下 Excel 選項
  3. 從左側的選項清單中按一下 [進階 ]。
  4. 向下捲動到 [此活頁簿的顯示選項] 區段,然後按一下 [針對物件顯示:] 底下的 [全部],然後按一下 [確定]。

注意事項 若要使用鍵盤快速鍵來切換此選取項目,請按 CTRL+6。

如果這些步驟無法讓您在 Excel 2007 中隱藏列或欄或插入列或欄,請嘗試方法 2 中的步驟。

方法 2:將物件的位置屬性變更 為 [隨儲存格移動和調整大小]

若要解決此問題,Excel 2003、Excel 2002 及 Excel 2000 請將物件的 POSITION 屬性變更 為 [隨儲存格移動和調整大小]。 若要這麼做,請按照下列步驟進行:

  1. 如果物件是儲存格註解,請選取包含註解的儲存格,以滑鼠右鍵按一下儲存格,然後按一下 [顯示註解] 或 [顯示/隱藏註解]。

    注意:這會讓註解可見。

  2. 將指標移到物件的邊緣,直到指標變成白色箭號,指標上有四個黑色小箭號。 然後,按一下物件以選取它。

  3. 在 Excel 2003 和舊版的 Excel 中,按一下 <[格式] 功能表上的 [物件名稱>]。

    注意 在此功能表命令中, <物件名稱> 是物件的名稱,例如「註解」或「快取圖案」。

    在 Excel 2007 中,按一下 [格式 <化物件名稱>]。

  4. [格式 ] 對話方塊中,按一下 [ 內容 ] 索引標籤。

  5. 按一下 [移動儲存格並調整其大小],然後按一下 [確定]。

  6. 如果您想要再次隱藏儲存格註解,請以滑鼠右鍵按一下包含該註解的儲存格,然後按一下 [隱藏註解]。

請針對受影響資料行中的每個物件執行下列步驟,如「原因」一節所述。 當您隱藏資料欄位時,不會收到錯誤訊息。

替代方法:變更使用中工作表上所有物件的屬性

Microsoft 僅提供圖例的程式設計範例,不含明示或暗示的擔保。 這包括 (但不限於) 適用于特定目的之可操作性或適用性的暗示擔保。 本文假設您熟悉正在示範的程式設計語言,以及用來建立和進行程式偵錯工具的工具。 Microsoft 支援工程師可以協助說明特定程式的功能。 不過,他們將不會修改這些範例以提供新增功能或建構符合您特定需求的程式。
注意:執行下列巨集會針對使用中工作表上的所有物件設定方法 1 中提及的屬性。 因為這項設定會在調整與物件相關聯的列和欄大小時造成物件調整大小,所以如果您調整列和欄的大小,當它在工作表中顯示物件時,可能會導致非預期的結果。 在檔案中執行巨集之前,請先考慮這個問題。

若要變更使用中工作表上所有註解的屬性,請執行下列巨集。


Sub Test()
Dim s As Shape 
On Error Resume Next
For Each s In ActiveSheet.Shapes 
s.Placement = xlMoveAndSize
Next 
End Sub