玖叶教程网

前端编程开发入门

VBA如何遍历工作表,你学会了吗?

1、遍历所有工作表

Subeverysheet1()

'遍历当前工作簿所有工作表的方法-for each

Dim myshet As Worksheet

For Each myshet In ThisWorkbook.Sheets '或者调用工作簿的名字,in workbooks("工作簿名字").sheets

MsgBox myshet.Name ‘依次显示每个sheet的名字或进行其他操作

Next

EndSub

2、遍历特定工作表

Subeverysheet2()

'遍历当前工作簿中/排除某名称的其他所有工作表/工作表名称含有XX内容的所有工作表

Dim myshet As Worksheet

For Each myshet InThisWorkbook.Sheets

‘1、排除特定名称的工作表、排除表名含特定字符的工作表

If myshet.Name <> "汇总" And InStr(1,myshet.Name, "A") = 0 Then '如果sheet名不为“汇总”,并且工作表名中不含有A

MsgBox "我的名字是" & myshet.Name& ",不是汇总表,我可以进行其他操作"

‘2、对表名含有特定值的工作表进行操作

ElseIf InStr(1, myshet.Name, "A", 0) > 0 Then '利用InStr函数判断工作表名称中是否包含特定值,最后一个参数0代表区分大小写,1代表不区分大小写,本示例判断工作表名是否包含A,并且区分大小写

MsgBox "我的名字是" & myshet.Name& ",包含A的sheet表,我可以进行其他操作"

Else

MsgBox"我的名字是:" & myshet.Name '显示工作表名称或进行其他操作

End If

Next

End Sub

补充:INstr函数说明:

用途:返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。

语法:InStr([start, ]string1,string2[, compare])


设置:

compare 参数设置为:

说明

InStrB函数作用于包含在字符串中的字节数据。所以 InStrB返回的是字节位置,而不是字符位置。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言