2017-02-04 14 views
1

我有由一個按鈕觸發的宏然後顏色certrain範圍。所以像:觸發基於特定值的宏小區中的

Sub colourRange() 
    #Colour range 
end sub 

這一切工作,但事情是,我不得不推動一個按鈕,它的工作。我實際上看到的是某種if/else語句,當您在單元格中填充特定值時觸發宏。

能anbybody告訴我,如果有觸發通過在單元格中鍵入某個值的宏的方法嗎?

回答

2

你的第一個(自然)的選擇應該是條件格式。如果它不針對特定情況下工作,可以攔截Worksheet_Change事件:

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Intersect(Target, myRange) Is Nothing And myRange.Value = ACertainValue Then 
     Call colourRange 
    End If 
End Sub 

把上面的處理,你要監視的工作表的代碼模塊中。

1

觸發宏當你在某個值在單元格的填充

我會說,你想對反應的任何細胞改變,只要它具有一個已經進入了一個一定值

然後我在下面的相關工作代碼窗格倒是代碼:

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target.count>1 And Target.Value = "your certain value" Then colourRange 
End Sub 

如果你想這樣的事情發生的每一個工作表,然後將它的ThisWorkbook代碼窗格如下代碼:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
    If Target.Count > 1 And Target.Value = "your certain value" Then colourRange 
End Sub