[英]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.