将Excel工作表选项卡的颜色复制到单元格

时间:2017-07-21 15:50:33

标签: excel vba excel-vba excel-formula

我在excel文件中有几百个工作表,其中一个工作表引用了所有其他工作表(跟踪工作表)。其他工作表基于完成情况具有颜色编码的选项卡,我想在跟踪器表中引用它。有没有办法找到工作表标签的颜色,并将其添加到跟踪器表中的相应跟踪器行?

4 个答案:

答案 0 :(得分:1)

我创建了sample worksheet来尝试复制您的问题。有一个“跟踪工具表”和其他几个带有彩色标签的空白工作表。我不知道你对这些纸张的命名惯例是什么,所以我只是用了#34; Sheets&#34 ;;我还使用了一个按钮来执行以下代码,但您可以在以下情况下使用它:

Sub Button2_Click()
   Dim tabColorIndex As Variant, index As Integer

   'For all of your sheets being tracked
   For index = 1 To 3
      'Retrieve the tab's colorIndex at index
      tabColorIndex = Sheets("Sheet" & index).Tab.colorIndex
      'Set the cells' colors in the respective row from columns A to F
      Sheets("TrackerSheet").Range("A" & index & ":F" & index).Interior.colorIndex = tabColorIndex
   Next index
End Sub

这会对行进行着色,如上面的链接所示。

答案 1 :(得分:0)

实际上很简单,

  ActiveWorkbook.Sheets("SheetABC").Tab.Color '<= parse the color of the tab

然后,您可以使用变量操作此颜色以满足您的需要。

答案 2 :(得分:0)

  Dim ws As Worksheet
  Set ws = ActiveWorkbook.Worksheets("Sheet1")
  MsgBox ws.Tab.Color

这将返回颜色的值为十六进制/ RGB,具体取决于它是否为主要颜色

这是在msgbox中显示以进行测试

答案 3 :(得分:-1)

是的,您可以使用:

dim ws as worksheet
ws.tab.color=' numerical value of the tab color you are looking for 

在if语句中设置它并使用计数器跟踪设置颜色的选项卡。您也可以遍历工作簿中的所有工作表:

for each sht in application.worksheet

next sht
相关问题