请求编写Excel VBA宏:选中所有名称以_T结尾的工作表
选中所有名称以_T结尾的工作表的VBA宏
以下是修改后的宏代码,实现选中所有名称以_T结尾的工作表:
Sub SelectSheetsEndingWith_T() Dim myArray() As Variant Dim i As Integer Dim j As Integer j = 0 For i = 1 To Sheets.Count ' 判断工作表名称是否以_T结尾 If Right(Sheets(i).Name, 2) = "_T" Then ReDim Preserve myArray(j) myArray(j) = i j = j + 1 End If Next i ' 避免无符合条件工作表时报错 If j > 0 Then Sheets(myArray).Select Else MsgBox "没有找到名称以_T结尾的工作表" End If End Sub
关键修改说明
- 将原代码中判断工作表可见性的条件,替换为用
Right函数截取工作表名称最后两位,判断是否等于_T。 - 添加了数组非空判断:当没有符合条件的工作表时,弹出提示框而非执行报错的选中操作。
可选需求:同时筛选可见工作表
如果需要选中可见且名称以_T结尾的工作表,只需修改判断条件为:
If Sheets(i).Visible = True And Right(Sheets(i).Name, 2) = "_T" Then
内容的提问来源于stack exchange,提问作者Edu2694
相关产品推荐
相关产品推荐

