【EXCEL_VBA_基础知识】03 使用VBA操作工作表

课程来源:王佩丰老师的《王佩丰学VBA视频教程》,如有侵权,请联系删除!

目录

0 Sheet(s)、Worksheet(s)区别

1. 方法:Select、Add、Delete、Copy

1.1 注意事项

1.2 代码展示

2. 属性:Count、Name

3. For each 循环(遍历集合中每个元素)

3.1 应用1 取工作表名称

3.2 应用2 删除工作表(保留特定工作表)


0 Sheet(s)、Worksheet(s)区别

1. Worksheet(工作表)

  • 是Excel工作簿中的一个表格,用于存储、处理和显示数据。
  • 通常指的是用户可以直接编辑和操作的界面。

2. Sheet(表)

  • 是一个更广义的术语,可以指代工作簿中的任何类型的表。
  • 包括Worksheet(工作表)、Chart Sheet(图表工作表)以及其他特殊类型的表(如Excel 4.0宏工作表等)。

3. Sheets集合

  • 是一个包含工作簿中所有Sheet对象的集合。

4. Worksheets集合

  • 是Sheets集合的一个子集,只包含工作簿中的Worksheet对象。

Sheets.Count = Worksheets.Count + Chart Sheet.Count + 其他特殊类型的表.Count

当Charts.Count,其他特殊类型的表.Count = 0时,Sheets.Count =Worksheets.Count

1. 方法:Select、Add、Delete、Copy

1.1 注意事项

  • 参数输入:① 输入方法名称,空格键,自动提醒参数类型;② 参数名 := 值(使用":="赋值)

1.2 代码展示

'select 工作表选择
Sheet1.Select ' 选择sheet1工作表
Sheets(1).Select ' 选择第一张工作表
Sheets("1月").Select ' 选择表名“1月”的工作表


Sub Add_Sheet()

'建100张表,分别叫1,2,3,4.....

    For i = 1 To 100
        Sheets.Add after:=Sheets(Sheets.Count) 'Sheets(Sheets.Count)代表最后一张表
        Sheets(Sheets.Count).Name = i '重命名上一步插入的最后一张表表名
    Next

End Sub


Sub Delete_Sheet()

'删除100张表

    excel.Application.DisplayAlerts = False ' 不显示警告提示(否则要按100次删除表的确认)

    For i = 1 To 100
        Sheets(1).Delete '重复100次删除第一张表
    Next

    excel.Application.DisplayAlerts = True ' 显示警告提示

End Sub


Sub Copy_Sheet()

    'Sheets(Sheets.Count)代表最后一张表,sheet1工作表复制粘贴到最后一张表之后
    ' 若省略参数,则会复制粘贴到新工作簿
    Sheet1.Copy after:=Sheets(Sheets.Count) 

End Sub

2. 属性:Count、Name

Sub Rename()

Sheet1.Name = "8月" '工作表sheet1重命名为8月

End Sub

Sheets.Count  ' 属性 返回一个值

3. For each 循环(遍历集合中每个元素)

3.1 应用1 取工作表名称

Sub Extract_SheetName()

' 取表名

Dim sheet As Worksheet
Dim i As Integer

For Each sheet In Worksheets
    If sheet.Name <> "部门" Then
        i = i + 1 
        Range("a" & i) = sht.Name ' 表名放在当前选中sheet的A1至Ai单元格
    End If
Next

End Sub

3.2 应用2 删除工作表(保留特定工作表 & 不显示警告框)

Sub Delete_Sheet()
Dim sheet As Worksheet

Application.DisplayAlerts = False ' 不显示警告框

For Each sheet In Sheets

    If sheet.Name <> "绝不能删" Then ' 保留表名为“决不能删”的表,其他均删除
        sheet.Delete
    End If
Next

Application.DisplayAlerts = True

End Sub
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值