2016-04-21 66 views
0

我目前正在研究一個想法來組織更好的工作簿。在我的團隊中,我們正在使用帶有許多TABS的工作簿,並逐步分階段進行工作。在每個階段,我們將使用不同的TABS。Excel VBA限制工作表調色板

我們通常會將工作表的TAB填上以表明它是否已完成。我將自定義工作表選項卡的顏色索引,以便只有3種不同的顏色可用(比如綠色,黑色,白色)。

限制調色板非常重要,因此用戶不會選擇其他顏色,因此可以執行按顏色(和標準化)進行的TAB分析。

我一直在研究這個概念幾天(changing color options)。 我發現我雖然是解決方案(official Microsoft)但沒有工作(更改所有顏色後,在工作表中顯示正常的調色板)。

任何想法如果可能的代碼定製的顏色選項卡?或者微軟的「改變標準顏色」真的起作用了嗎?

非常感謝提前!

回答

0

這裏有一個解決方法

你可以通過把這段代碼中的ThisWorkbook代碼窗格退出工作簿之前趕上不好的彩色標籤

Option Explicit 

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
Dim sht As Worksheet 

For Each sht In ThisWorkbook.Worksheets 
    Select Case sht.Tab.ColorIndex 
     Case 1, 2, 4 '(1=Black, 2=White, 4=Green) see https://msdn.microsoft.com/en-us/library/office/ff840443.aspx 
      ' ok 
     Case Else 
      MsgBox "Sheet '" & sht.name & "' has tab not properly coloured" _ 
        & vbCrLf & vbCrLf & "Please have its tab coloured with any of the following colors:" _ 
        & vbCrLf & vbTab & "- Green" _ 
        & vbCrLf & vbTab & "- Black" _ 
        & vbCrLf & vbTab & "- White", vbCritical 
      Cancel = True 
    End Select 
Next sht 

End Sub 

這將迫使用戶正確顏色的所有標籤的事件處理程序讓他最後關閉工作簿!

+0

您好! 是的,我腦海中有一些解決方法......但正如你可能知道的那樣,任何不會使它流暢的東西都是對用戶而言的一種痛苦......如果我沒有找到徹底的解決方案因爲「你有選擇A或B,這就是全部」,同時,不會給用戶造成麻煩或提示窗口。我將無法執行任何操作:SI繼續瀏覽網頁!如果我發現任何關閉,我會發布它 – Charlie

+0

@Charlie你找到任何解決方案? – user3598756

+0

我發誓我嘗試了一個星期:D沒有機會... 目前我正在製作自定義色帶...它讓我想到了禁用色盤的想法,然後添加一些自定義執行此按鈕的按鈕..小獎勵太麻煩了。並不確定用戶是否同意... – Charlie