跳到主要內容

如何清除Excel工作簿中打開和退出時指定的單元格內容?

本文討論的是在打開或關閉Excel工作簿時清除指定的單元格內容。

在打開和退出工作簿上清除指定的單元格內容


在打開和退出工作簿上清除指定的單元格內容

請執行以下操作以清除打開和退出工作簿上的指定單元格內容。

首先,您需要保存需要在打開或退出時清除指定單元格內容的工作簿作為啟用Excel Macro的工作簿。

1.請點擊 文件 > 另存為 > 瀏覽。 看截圖:

2。 在裡面 另存為 對話框中,請選擇一個文件夾來保存工作簿,然後在 文件名 所需的框,選擇 Excel啟用宏的工作簿 來自 薩瓦類型 下拉列表,然後單擊 節省 按鈕。

3.在彈出 Microsoft Excel中 對話框,請點擊 OK 按鈕,如下圖所示。

4.打開您剛才保存的啟用宏的工作簿,然後按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

5。 在裡面 Microsoft Visual Basic for Applications 窗口,雙擊 的ThisWorkbook 在左窗格中,然後將VBA代碼下面的內容複製到“代碼”窗口中。

VBA代碼1:在打開的工作簿上清除指定的單元格內容

Private Sub Workbook_Open()
'Updated by Extendoffice 20190712
    Application.EnableEvents = False
        Worksheets("test").Range("A1:A11").Value = ""
    Application.EnableEvents = True
End Sub

VBA代碼2:在工作簿退出時清除指定的單元格內容

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Updated by Extendoffice 20190712
    Worksheets("test").Range("A1:A11").Value = ""
End Sub

備註:在上面的代碼中,進行測試,並且A1:A11是您要清除其內容的工作表名稱和單元格範圍。 請根據需要更改它們。

6。 按 其他 + Q 退出鍵 Microsoft Visual Basic for Applications 窗口。

從現在開始,當打開或關閉工作簿時,將自動清除某些工作表中指定的單元格內容。


相關文章:

最佳辦公生產力工具

熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

kte選項卡201905


Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (9)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thank You Crystal! It works.

G
This comment was minimized by the moderator on the site
Dear Friends I tried the suggested code with no effect on open>

Private Sub Workbook_Open()


Application.EnableEvents = False

Worksheets("Clienti").Range("A9:K900").Value = ""

Application.EnableEvents = True

End Sub


The macro does work from within the workbook but not when the workbook opens.

Any help would be greatly appreciated!
This comment was minimized by the moderator on the site
Hi TUDOSE GELU,
The code works well in my case.
Don't forget to put the code in the ThisWorkbook (Code) window, and save the workbook as an Excel Macro-Enabled Workbook.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/2022-oct/oct-2.png
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/2022-oct/oct-1.png
This comment was minimized by the moderator on the site
Can someone help me how to blankout cells of sheet (only in a row and not entire Sheet). Below code removes contents in all rows of the sheet. But I want contents to be cleared only in row9



Private Sub Workbook_Open()

'Updated by Extendoffice 20190712

Application.EnableEvents = False

Worksheets("test").Range("A1:A11").Value = ""

Application.EnableEvents = True

End Sub
This comment was minimized by the moderator on the site
Hi,
The above VBA only clear the cell value of range A1:A11. If you want to clear only the values in row 9, you can replace A1:A11 with 9:9. See the below code.

Private Sub Workbook_Open()

'Updated by Extendoffice 20200522

Application.EnableEvents = False

Worksheets("test").Range("9:9").Value = ""

Application.EnableEvents = True

End Sub
This comment was minimized by the moderator on the site
Can someone help me how to blankout cells of sheet (only in a row and not entire Sheet). Below code removes contents in all rows of the sheet. But I want contents to be cleared only in row9

Private Sub Workbook_Open()

'Updated by Extendoffice 20190712

Application.EnableEvents = False

Worksheets("test").Range("A1:A11").Value = ""

Application.EnableEvents = True

End Sub
This comment was minimized by the moderator on the site
Hello, for the range how would I enter the code if I want to select multiple range or cells?
This comment was minimized by the moderator on the site
Dear sir/madam, my sheet is protected and only specified cell (for data clearing) is not protected but when i enter the value in the specified & then re-open the excel file then value is cleared by VBA code but the specified cell is protected, i have to un-protect cell by un-protecting the sheet edit the editable range again & again so please fix.
Thanks in advance
This comment was minimized by the moderator on the site
Hi Sanjay Sharma,
Sorry for the inconvinience. Please apply the below VBA codes and remember to replace the sheet name and the range to your needs. Thank you for your comment.

VBA code 1:
Private Sub Workbook_Open()
Application.EnableEvents = False
Worksheets("Sheet1").Range("A1:A11").Value = ""
Application.EnableEvents = True
End Sub

VBA code 2:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Sheet1").Range("A1:A11").Value = ""
End Sub
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations