2014-10-28 36 views
2

我想知道是否有一種有效的方法來使用Worksheet_SelectionChange事件創建vba上的計數機制? 我想統計特定單元格被選中的次數。如果單元格被選中,那麼變量將增加1,否則不會對變量進行更改。在VBA中創建計數器

Dim S As String 
Dim count As Integer 

count = 0 
S = "$" & "D" & "$" & ActiveCell.Row 

If ActiveCell.Address = S Then 
    count = count + 1 
Else 
    count = count 
End If 

回答

2

這應該適合你。將此代碼放置在您要跟蹤的工作表的模塊後面的代碼中。相應地更改地址字符串。請注意,它是aboslute表示法,因此A1不起作用,但$A$1會。

Option Explicit 

Private count As Long 

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    Debug.Print Target.Address 
    If Target.Address = "$A$1" Then 
     count = count + 1 
     MsgBox count 
    End If 
End Sub 

另外請注意,您必須在模塊級聲明count,使其不超出範圍,並得到復位。

+0

謝謝!它的工作:) – adt772 2014-10-29 00:14:18

+0

不客氣! – RubberDuck 2014-10-29 00:37:38