首页 > 其他分享 >【VBA】シートをクリアする

【VBA】シートをクリアする

时间:2024-09-29 20:12:39浏览次数:7  
标签:DrawingObjects VBA End Sub Cells 指定 Delete

参照元:【VBA】シートをクリアする【値のみや、初期化、範囲指定、2行目以降をクリアする】
     https://daitaideit.com/vba-sheet-clear/

  • シートをクリアする
    1.値のみをクリア(.ClearContents)
Sub TEST1()
  '値のみをクリア
  Cells.ClearContents
End Sub

2.シートを初期化(.Delete)

Sub TEST1()
  'シートを初期化
  Cells.Delete
End Sub
※フィルタしている場合は、フィルタしていた値が残ってしまいます。

対策:
オートフィルタを解除してシートを初期化
Sub TEST4()
  'オートフィルタを解除
  If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
  'シートを初期化
  Cells.Delete
End Sub

3.オートシェイプを削除(.DrawingObjects.Delete)

Sub TEST5()
  'オートシェイプを削除
  ActiveSheet.DrawingObjects.Delete
End Sub

4.シートを完全にクリア(.Deleteと.DrawingObjects.Delete)
 シートを完全にクリアしてみます。
 「.Delete」と「.DrawingObjects.Delete」の両方を実行するという感じです。

Sub TEST6()
  
  'フィルタを解除
  If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
  'シートを削除
  Cells.Delete
  'オートシェイプを削除
  ActiveSheet.DrawingObjects.Delete
  
End Sub

  • 範囲を指定してシートをクリア
    1.範囲を指定して値のみをクリア(.CelarContents)
Sub TEST7()
  
  '範囲を指定して、値のみをクリア
  Range("A1:B3").ClearContents
  
End Sub

2.範囲を指定してシートを初期化(.Clear)

Sub TEST8()
  
  '範囲を指定して、シートを初期化
  Range("A1:B3").Clear
  
End Sub

3.2行目以降をシートクリア(.Clear)

「Range("A2:A" & Rows.Count).EntireRow」で、2行目以降を指定するのがポイントになります。
Sub TEST9()
  
  '2行目以降シートクリア
  Range("A2:A" & Rows.Count).EntireRow.Clear
  
End Sub
  • 特定シートをクリア
    1.シートを指定してクリア
シートを指定して、「.Cells.Delete」を使うという感じです。
Sub TEST10()
  
  '特定シートを初期化
  Sheets("Sheet2").Cells.Delete
  
End Sub

おわりに

この記事では、シートをクリアする方法について、ご紹介しました。

シートをクリアする方法は、次のようになります。

シートの値のみをクリア:「.ClearContents」
シートを初期化:「.Delete」
オートシェイプを削除:「.DrawingObjects.Delete」
範囲を指定して値のみクリア:「セル範囲.ClearContents」
範囲を指定してシートをクリア:「セル範囲.Clear」
2行目以降をシートクリア:「2行目以降のセル範囲.Clear」
シートを指定してクリア:「特定シート.Cells.Delete」

場面に応じて、シートをクリアできるようにマスターしていきましょう。

标签:DrawingObjects,VBA,End,Sub,Cells,指定,Delete
From: https://www.cnblogs.com/langQ/p/18440653

相关文章

  • WINCCV7.5SP2VBA编程8-通过事件执行脚本
    这一篇在新浪博客发表过,审核周期有点长,为了避免丢失,这里再记录一遍。有三种途径执行Wincc画面设计器的VBA脚本:事件、用户自定义菜单和工具栏、VBA编辑器。前面的学习是通过VBA编辑器执行的VBA程序,现在通过事件来练习VBA程序执行。还是在前面WINCC项目程序来做练习。打开项目编......
  • Wincc7.5sp2使用VBA6-全局模板、项目模板和页面模板
    这一篇博客在新浪发表过,那边还在审核,为了避免关闭服务,在这里再次发一遍。那边的博客发表后审核期间,如果想修改是不允许的,审核时间比较长,有点不合理。前面的VBA练习,都是针对具体的项目的具体画面进行编程,在wincc项目还可以全局VBA编程和具体项目VBA编程。我边看技术文档边做练习,......
  • VBA技术资料MF204:右键多按钮弹出菜单中使用图标
    我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解,从简单的入门、到入门后的提高、到数据库、到字典、到WordVBA的应用、到高级......
  • # 使用VBA删除Word文档最后一页的空白页
    使用VBA删除Word文档最后一页的空白页本教程将指导您如何使用VBA(VisualBasicforApplications)删除MicrosoftWord文档最后一页的空白页。详细代码使用流程参照上一篇博客增加空白页,替换代码部分即可步骤打开Word文档打开包含要删除的空白页的Word文档。打开Visual......
  • WINCCV7.5SP2使用VBA一次性添加多个IO域控件,并设置属性和其连接的变量
    这篇博客发表在某浪上,截至目前还没有通过审查,在这里也发一遍。前面的练习是先在页面手工放置IO域,然后使用VBA脚本批量设置连接的变量。这个练习进一步,使用VBA脚本创建IO域控件,并设置连接的变量。这个练习自动创建20个IO域,名字叫做IO1至IO20,并设置其连接的变量,为Real1至Real20;IO域......
  • WINCCV7.5SP2使用VBA一次性修改多个IO域连接的变量
    某浪博客那边效率低下,学习笔记类型的也要审核多日,还做了访问量清零的事情。我把今天的学习笔记在这里也记录一遍。前几天QQ群里面有哥们询问在WINCC中页面中一次性设定多个IO域连接变量,这些连接变量有规律。我以前没有用过VBA,尝试着弄了一下,现在把过程记录下来,当作学习笔记吧。......
  • EXCEL VBA 响应鼠标鼠标滚轮控制
    在vba中,我们在用户窗体中如果添加有combox控件,或者是listbox控件。正常情况下,combox和listbox是不响应鼠标滚轮事件的,且默认的VBA控件中,也没有提供响应鼠标滚轮事件的方法和入口。如此以来,我们在combox/listbox中操作选择目标选项,就只能使用滚动条来操作,严重影响了操作......
  • [Excel VBA办公]如何使用VBA批量删除空行
    在处理Excel数据时,空行可能会干扰数据分析和展示。以下是一个VBA代码示例,帮助你批量删除工作表中的空行。1.代码说明此代码将遍历指定工作表,删除所有空行,确保数据整洁。2.VBA代码'删除sheet1的空行SubDeleteEmptyRows()DimwsAsWorksheetDimlastRowAs......
  • VBA技术资料MF199:屏蔽单元格右键菜单复制剪切按钮
    我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解,从简单的入门、到入门后的提高、到数据库、到字典、到WordVBA的应用、到高级......
  • VBA技术资料MF198:禁用下拉拖放
    我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解,从简单的入门、到入门后的提高、到数据库、到字典、到WordVBA的应用、到高级......