[英]Difference between .Delete and .Clear in Excel VBA?
Worksheets(1).Cells.Delete
和Worksheets(1).Cells.Clear
什么Worksheets(1).Cells.Clear
?
我之所以這么問是因為我一直使用.Clear
來清除我的工作表內容,但在我之前的帖子中,我發現Worksheets(1).Cells.Delete
不僅刪除了我的工作表內容,而且還在其上設置了列默認寬度!
誰能給我解釋一下區別? 我也可以給.Delete
一個范圍嗎?
Range.Delete
實際上會刪除相應的范圍並相應地移動/移動單元格,從而改變工作表的結構。 如果您選擇單元格並右鍵單擊以刪除選擇,則相同。 你會被問到你想如何移動單元格。
Range.Clear
只會清除內容和格式,但不會刪除單元格,也不會更改工作表的結構。
還有Range.ClearContents
只清除內容,但保留格式, Range.ClearFormats
只清除單元格和Range.ClearComments
、 Range.ClearHyperlinks
、 Range.ClearNotes
和Range.ClearOutline
excel vba 中有多種.clear
函數可用,專門針對每種情況和您要完成的任務量身定制。 一些文檔和解釋可以在這個頁面上找到這里是幾個品種的列表:
Clear Remove formatting and contents
ClearFormats Remove cell formatting, including font format
ClearComments Remove comments
ClearHyperlinks Reomve hyperlinks, but the default format of hyperlink is not removed
Clear Notes Remove Notes
ClearOutline Remove Outline
Delete Remove the entire cell
簡而言之, .clear
在指定時刪除單元格內容和某些類型的格式。 .delete
刪除整個單元格和任何格式,並將其余文檔.delete
以填補空白。
@ChangeWorld 回答您編輯的問題: .delete
完全刪除單元格,但移動它周圍的單元格以覆蓋間隙。 如同洞中流淌的水。 替換它的單元格可以在下方,並對其應用相同的設置。 如果您希望設置完全消失,請使用.entirerow.delete
刪除該行並將其替換為下面的行。 .entirecolumn.delete
刪除該列並將其替換為右側的列。 無論什么單元格替換已刪除的單元格,這些單元格的設置和格式都將應用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.