VBA编程中,选定当前工作薄中带黄色的工作表(黄色代码应该是6吧),要怎么写呢
大神,看了你以前的一些回答,想向您请教一个问题。VBA编程中,选定当前工作薄中所有带黄色的工作表(黄色代码应该是6吧),然后用默认打印机打印这些表,要怎么写呢,我财富值只...
大神,看了你以前的一些回答,想向您请教一个问题。
VBA编程中,选定当前工作薄中所有带黄色的工作表(黄色代码应该是6吧),然后用默认打印机打印这些表,要怎么写呢,我财富值只有这么多了,以后多了补给您 展开
VBA编程中,选定当前工作薄中所有带黄色的工作表(黄色代码应该是6吧),然后用默认打印机打印这些表,要怎么写呢,我财富值只有这么多了,以后多了补给您 展开
1个回答
展开全部
Sub 按标签颜色选择()
Dim arr() '定义动态数组
r = 0 '初始化长度为0
n = ThisWorkbook.Sheets.Count '统计工作表数
For i = 1 To n '循环
If ThisWorkbook.Sheets(i).Tab.ColorIndex = 13 Then '为指定颜色则执行
r = r + 1 '数组长度+1
ReDim Preserve arr(1 To r) '按新长度重定义数组
arr(r) = ThisWorkbook.Sheets(i).Name '工作表标签名赋值给数组
End If
Next i
Sheets(arr).Select '按数组中的名字选择工作表标签
End Sub
在EXCEL中检测黄色标签为13,具体请根据实际情况修改。如果要打印则按arr(r).PrintOut修改就可以了。
追问
为什么按您的创建后,一按执行,EXCEL就出错了呢,我也新建了一张试过,还是出错
追答
请下载这个文件测试
Sub 按标签颜色选择()
Dim arr() '定义动态数组
r = 0 '初始化长度为0
n = ThisWorkbook.Sheets.Count '统计工作表数
For i = 1 To n '循环
If ThisWorkbook.Sheets(i).Tab.ColorIndex = 13 Then '为指定颜色则执行
r = r + 1 '数组长度+1
ReDim Preserve arr(1 To r) '按新长度重定义数组
arr(r) = ThisWorkbook.Sheets(i).Name '工作表标签名赋值给数组
End If
Next i
If r > 0 Then
Sheets(arr).Select '按数组中的名字选择工作表标签
Else
MsgBox "没有指定颜色的标签"
End If
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询