VBA编程中,选定当前工作薄中带黄色的工作表(黄色代码应该是6吧),要怎么写呢

大神,看了你以前的一些回答,想向您请教一个问题。VBA编程中,选定当前工作薄中所有带黄色的工作表(黄色代码应该是6吧),然后用默认打印机打印这些表,要怎么写呢,我财富值只... 大神,看了你以前的一些回答,想向您请教一个问题。
VBA编程中,选定当前工作薄中所有带黄色的工作表(黄色代码应该是6吧),然后用默认打印机打印这些表,要怎么写呢,我财富值只有这么多了,以后多了补给您
展开
 我来答
wtx274321
2014-03-17 · TA获得超过1.8万个赞
知道大有可为答主
回答量:2343
采纳率:57%
帮助的人:961万
展开全部
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


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式