2011-04-28 51 views
2

我想找到一些VBA代碼,當我在工作表的單元格中單擊鼠標時,它會將單元格更改爲黃色。然後讓我們說我不希望細胞變黃,我可以點擊右鍵,它會改變回來。我不確定是否可能。Excel - 通過單擊更改單元格的圖案

回答

4

下面是工作代碼:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)  
    Call ChangeCellColor(Target, 6)  
End Sub 

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, _ 
             Cancel As Boolean) 
    Call ChangeCellColor(Target, xlNone)  
End Sub 

Private Sub ChangeCellColor(Target As Range, CLR As Integer)  
    Selection.Interior.ColorIndex = CLR  
End Sub 
+0

@Lance:謝謝你的工作,有沒有辦法將它限制在一定範圍內的單元格? – Mike 2011-04-28 18:18:59

+0

接下來您將在IF語句中調用IF IF Intersect(Target,Range(_whatever_))爲Nothing。 – 2011-04-28 18:30:13

+0

@Lance:我實際上有六種不同的範圍,即變化單元格式。它們是:B7:F11 - H7:L11 - N7:R11 - B16:F20 - H16:L20 - N16:R20我不知道如何將其寫入代碼。 – Mike 2011-04-28 19:09:39

2

這裏是當我不知道VBA把我的頭頂部,這將改變模式(這是條紋灰色)

With Selection.Interior 
    .Pattern = xlLightUp 
    .PatternColorIndex = xlAutomatic 
    .ThemeColor = xlThemeColorDark1 
    .TintAndShade = -4.99893185216834E-02 
    .PatternTintAndShade = 0 
End With 

的代碼,我去到Excel,瀏覽,宏記錄新的宏..

然後,我在Excel中進行更改,我想要的,然後我回去並關閉宏。最後,我去看看這個宏..和巴姆!我尋找的代碼是在那裏爲我生成的。

+0

使用「錄製宏」是一個axcellent建議 - 但這個答案就是爲什麼你應該把它作爲一種學習工具一個很好的例子,並_almost_從未實際上可以使用錄製的宏。記錄器設置它認爲有意義的所有屬性,無論它們是否正在改變。您的生產代碼只應觸摸正在更改的屬性,以及值_matters_。 – RolandTumble 2011-04-29 18:21:35

相關問題