2015-12-21 47 views
0

我一直在試圖檢查用戶是否從某個特定的Range單元中失去了焦點。失去焦點後檢查相交

Option Explicit 
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    Static OldRange As Range 
    Dim AmountCol As String * 1 
    Dim PayedCol As String * 1 
    Dim MyRange As Range 

    If (Not OldRange Is Nothing) Then 
     AmountCol = Chr(Asc(Range("B1").Text) + 1) 
     PayedCol = Chr(Asc(Range("B1").Text) + 2) 
     Set MyRange = Range(AmountCol & ":" & AmountCol) 

     If Not MyRange Is Nothing And Not OldRange Is Nothing Then 
      If Not Intersect(OldRange, MyRange) Then 
       MsgBox Chr(Asc(Range("B1").Text) + 1) & ":" & Chr(Asc(Range("B1").Text) + 1) 
      End If 
     End If 
    End If 

    Set OldRange = Target.Cells(1, 1) 
End Sub 

有人能幫我理解這有什麼問題嗎?代碼與If Not Intersect(OldRange, MyRange) Then斷行。

+0

如何圍繞去掉括號'不OldRange是Nothing' – Luuklag

回答

1

改變這一行:

If Not Intersect(OldRange, MyRange) Then 

這樣:

If Intersect(OldRange, MyRange) Is Nothing Then 
+0

謝謝!儘管如此,我不得不保留'Not' – AnDrOiD