首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel VBA中.Delete与.Clear的区别?

Excel VBA中.Delete与.Clear的区别?
EN

Stack Overflow用户
提问于 2019-09-09 15:00:15
回答 2查看 5.5K关注 0票数 4

Worksheets(1).Cells.DeleteWorksheets(1).Cells.Clear之间的区别是什么

我之所以问这个问题,是因为我一直使用.Clear来清除我的工作表内容,但在我之前的帖子中,我发现Worksheets(1).Cells.Delete不仅删除了我的工作表内容,而且还设置了默认宽度的列!

有人能给我解释一下其中的区别吗?另外,我可以给.Delete一个范围吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-09 15:13:20

Range.Delete实际上删除了相应的范围并相应地移动/移动了单元格,从而改变了工作表的结构。如果您选择单元格,然后单击鼠标右键以删除所选内容,则情况相同。系统会询问您希望如何移动单元格。

Range.Clear将仅清除内容和格式,但不会删除单元格,也不会更改工作表的结构。

还有仅清除内容但保留格式的Range.ClearContents、仅清除单元格格式的Range.ClearFormats以及Range.ClearCommentsRange.ClearHyperlinksRange.ClearNotesRange.ClearOutline

票数 9
EN

Stack Overflow用户

发布于 2019-09-09 15:21:52

excel vba中提供了各种.clear函数,这些函数专门针对每种情况和您要完成的任务量身定做。可以找到一些文档和解释on this page下面是几种变体的列表:

代码语言:javascript
运行
复制
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

深入解释.delete behaviour can be found here.

简而言之,指定时,.clear会删除单元格内容和某些类型的格式。.delete将删除整个单元格和任何格式,并将其余文档移入以弥补空白。

@ChangeWorld回答您编辑过的问题:.delete会完全删除单元格,但会移动单元格周围的单元格以覆盖间隙。就像水在洞里流过。替换它的单元格可以在下面,并应用相同的设置。如果您希望这些设置完全消失,请使用.entirerow.delete,它会删除该行并将其替换为它下面的行。.entirecolumn.delete删除了该列,并将其替换为右侧的列。无论用什么单元格替换已删除的单元格,都将应用这些单元格的设置和格式。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57849186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档