文章目录

  • 一、工作表对象
    • 1.1 获取 Sheet 页对应的工作簿对象
  • 二、工作表对象操作 Sheet 页的常见用法
    • 2.1. 判断工作表是否存在
    • 2.2. 新建工作表
    • 2.3. 隐藏和取消隐藏工作表
    • 2.4. 移动工作表
    • 2.5. 复制工作表
    • 2.6. 工作表保护
    • 2.7. 判断工作表是否被保护
    • 2.8. 删除工作表
    • 2.9. 选中工作表

一、工作表对象

工作表指的是 Excel 文件中的 Sheet 页,vba 提供了专门操作 Sheet 页的对象 Worksheet,既工作表对象,通过该
对象,我们可以获取到 Sheet 页的信息,以及可以对 Sheet 页进行处理,如:新建、保存、删除、复制等

1.1 获取 Sheet 页对应的工作簿对象

1. 通过 Sheet 页在 Excel 中的顺序,获取工作表对象

Public Sub main()Dim ws As WorksheetSet ws = Sheets(1)Debug.Print ws.Name
End Sub

2. 通过 Sheet 页名称获取工作表对象

(1) 方式一:利用 Sheet 页在工作簿中显示的名称来获取工作表对象,核心语法:Sheets(工作表中显示的名字)

Public Sub main()Dim ws As WorksheetSet ws = Sheets("Sheet1")Debug.Print ws.Name
End Sub

(2) 方式二:利用 Sheet 页的真实名称来获取工作表对象,核心语法:真实的工作表名称

Public Sub main()Dim ws As WorksheetSet ws = Sheet1Debug.Print ws.Name
End Sub

3. 获取正处于激活状态的 Sheet 页的工作表对象

获取正处于激活状态的 Sheet 页的工作表对象,核心语法: ActiveSheet,激活状态可以简单理解为,目前正处于显
示状态的那个 Sheet 页即为激活状态

Public Sub main()Dim ws As WorksheetSet ws = ActiveSheetDebug.Print ws.Name
End Sub

二、工作表对象操作 Sheet 页的常见用法

2.1. 判断工作表是否存在

此处判断的是 Sheet 页在工作簿中显示的名称

Public Sub main()Dim index As IntegerFor index = 1 To Sheets.CountIf Sheets(index).Name = "Sheet1" ThenDebug.Print "存在"Exit ForEnd IfNext index
End Sub

2.2. 新建工作表

代码中第 4 行的 Name,设置的是 Sheet 页在工作簿中显示的名称,
新创建的 Sheet 页默认显示在最前面,顺序是 1

Public Sub main()Dim ws As WorksheetSet ws = Sheets.Addws.Name = "模板"
End Sub

2.3. 隐藏和取消隐藏工作表

Visible 属性为 True 时显示 Sheet 页,为 False 时隐藏 Sheet 页

Public Sub main()Dim ws As WorksheetSet ws = Worksheets(1)ws.Visible = True
End Sub

2.4. 移动工作表

移动到目标工作表之前:

Public Sub main()'要移动的工作表Dim sourceWs As WorksheetSet sourceWs = Worksheets(1)'移动基准的工作表Dim targetWs As WorksheetSet targetWs = Worksheets(3)'移动到基准工作表之前sourceWs.Move before:=targetWs
End Sub

移动到目标工作表之后:

Public Sub main()'要移动的工作表Dim sourceWs As WorksheetSet sourceWs = Worksheets(1)'移动基准的工作表Dim targetWs As WorksheetSet targetWs = Worksheets(3)'移动到基准工作表之后sourceWs.Move after:=targetWs
End Sub

2.5. 复制工作表

复制到目标工作表之前:

Public Sub main()'要复制的工作表Dim sourceWs As WorksheetSet sourceWs = Worksheets(1)'复制基准的工作表Dim targetWs As WorksheetSet targetWs = Worksheets(3)'复制到基准工作表之前sourceWs.Copy before:=targetWs
End Sub

复制到目标工作表之后:

Public Sub main()'要复制的工作表Dim sourceWs As WorksheetSet sourceWs = Worksheets(1)'复制基准的工作表Dim targetWs As WorksheetSet targetWs = Worksheets(3)'复制到基准工作表之后sourceWs.Copy after:=targetWs
End Sub

2.6. 工作表保护

1. 利用 Protect 函数给 Sheet 页设置密码保护:

Public Sub main()Dim ws As WorksheetSet ws = Sheet1ws.Protect "123456"
End Sub

2. 利用 Unprotect 函数给 Sheet 页解除密码保护:

Public Sub main()Dim ws As WorksheetSet ws = Sheet1ws.Unprotect "123456"
End Sub

2.7. 判断工作表是否被保护

Public Sub main()Dim ws As WorksheetSet ws = Sheet1If ws.ProtectContents = True ThenDebug.Print "当前Sheet页被保护了!"End If
End Sub

2.8. 删除工作表

Public Sub main()Dim ws As WorksheetSet ws = Sheet1'删除前取消提示框Application.DisplayAlerts = False'删除工作表ws.Delete'删除后恢复提示框Application.DisplayAlerts = True
End Sub

2.9. 选中工作表

Public Sub main()Dim ws As WorksheetSet ws = Sheet1ws.Select
End Sub

Excel-VBA 快速上手(六、工作表对象、Sheet 页的常用操作)相关推荐

  1. Excel·VBA按行拆分工作表

    对应之前文章<Excel·VBA按列拆分工作表>,对Excel表格数据按照固定行数,将工作表拆分 工作表按行拆分为工作表 Sub 工作表按行拆分为工作表()'当前工作表(worksheet ...

  2. Excel·VBA按列拆分工作表、工作簿

    改进<将excel按照某一列拆分成多个文件>,使代码更具通用性,可以实现将工作表拆分为工作表或工作簿 对Excel表格数据按照某列的值,将工作表拆分 目录 1,工作表按列拆分为工作表 2, ...

  3. Excel VBA:将多个工作表保存为新文件

    Sub 创建文件()'定义文本文件的名称 Dim file As String, arr, i'指定文本文件的名称 file = ThisWorkbook.Path & "\需要复制 ...

  4. Excel VBA 将当前活动工作表中的图片保存到以工作表名称命名的文件夹内

    Sub exportpic() '将当前活动工作表中的图片保存到以工作表名称命名的文件夹内 Dim sn, path As String, j% sn = ActiveSheet.Name path ...

  5. 方法range作用于对象worksheet时失败_VB.NET Excel操作类(获取工作簿列表和工作表列表及工作表对象)...

    效果展示 引用excel类 Imports Microsoft.Office.Interop Excel类代码开始 Public Class Cls_excel 返回Excel对象 ''' ''' 返 ...

  6. VBA将excel中的多个工作表sheet合成一个工作表,多个工作簿的多个工作表合并为一个工作簿

    1 将excel中的多个工作表sheet合成一个工作表 工作表合成前: 工作表合成后: **第一步:**在文件中新建一个工作表sheet,用来存放合成后的数据,如图所示: 第二步:点击"开发 ...

  7. vba 定义类_工作表中如何响应自定义事件

    大家好,在上两讲中讲了类模块的调试行为,对于我们写代码人员来讲,要充分地理解每个知识点的概念,才能在实际工作中灵活运用,在我的第一套教程<VBA代码解决方案>中,我推出的是一种积木编程的思 ...

  8. 征服Excel VBA:让你工作效率倍增的239个实用技巧

    下载地址:https://webboy.pipipan.com/fs/19405313-362892031 内容简介: <征服Excel VBA:让你工作效率倍增的239个实用技巧>分16 ...

  9. Excel.VBA 快速删除重复记录

    Excel.VBA 快速删除重复记录 日常工作中的工作表中经常会有重复记录,清除这些重复记录是一个繁琐的工作,即使在排序之后再进行手工筛选,也经常会出现遗漏,而使用VBA代码就可以快速准确地删除重复记 ...

最新文章

  1. 基于CentOS 6.8平台最新源代码包编译安装企业版MariaDB数据库
  2. 空间谱专题11:子阵平滑与秩亏缺
  3. 【转】使用oschina的git服务器
  4. 【转】git使用教程
  5. 1. 使用 MegaRAID Storage Manager 监控
  6. 空调基础知识培训课件
  7. 数字信号处理---模拟信号数字处理方法
  8. 【PHP练习】每日词汇,随机产生10个单词,方便备考随时背诵(php+html+css)
  9. 信息终端安全是指办公和生产用计算机,从办公终端安全角度考虑,以下哪个是正确的()...
  10. turtle---见证小海龟的浪漫之画
  11. 异常:“ERROR: Permission to XXX.git denied to user”终极解决方案
  12. matlab求离散系统,离散系统的MATLAB的实现.doc
  13. 二手交易网站,校园二手交易系统,校园二手交易系统毕业设计
  14. JAVA 如何使用延迟
  15. 房卡麻将分析之一键入局
  16. (转载) 如何制作电子书?
  17. OAI项目GDB调试及代码分析
  18. [新人必读]独立游戏能否通过宣传视频众筹募集启动资金投石问路
  19. 分享:这样处理解决95%以上客诉
  20. 阳历、阴历、干支历转换 - For JAVA

热门文章

  1. 密码学——ECDSA签名算法
  2. Java内存模型基础学习(二)——絮叨一下可见性
  3. 两个区间映射关系详解/c++
  4. 2020-12-22 PMP 群内练习题 - 光环
  5. AIR 028 | 南京大学LAMDA所长周志华:机器学习的现状与未来
  6. 【有限元】弱反射光纤光栅水听器模态分析与谐响应分析
  7. MyBatis框架学习笔记(3)——B站动力节点
  8. 北京交通大学JAVA期末考试_JAVA考试题求助
  9. 免格式化制作老毛桃PE工具
  10. MEID简介 ESN