謝謝你詳細的解說,終於懂了。
其實 Private Sub Worksheet_Calculate()並未傳入參數,我將 If Target.Value = "YES" 中的 Target 誤認為是傳入參數值,才以為是 C3公式觸動Worksheet_Calculate。
後來仔細觀察 Private Sub Worksheet_Change(ByVal Target As Range) 中的 If Target.Value = "YES" Then 根本不會執行到,因 Target 僅有A1、B1,C3是公式沒有觸發是我自己觀察不夠,你真是 用心良苦。
Private Sub Worksheet_Calculate()
Dim Target As Range
Set Target = Range("C1")
' If Not Intersect(target, Range("C1")) Is Nothing Then
If Target.Value = "YES" Then
' Run my VBA code
MsgBox "Worksheet_Calculate is Activvated!"
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
' If Not Intersect(target, Range("C1")) Is Nothing Then
If Target.Address = "$C$1" Then
' MyMacro()
MsgBox "Worksheet_Change = " & Target.Address
End If
End Sub作者: c_c_lai 時間: 2016-5-2 12:38
小弟又想出解法了
二層迴圈
FOR I TO LOSTROW
FOR J TO LOSTCOLUMN
IF CELLS(I,J).VALUE = "YES"
MSGBOX "股號" & CELLS(I,1).VALUE & "符合條件" & CELLS(1,J).VALUE
END IF
NEXT
NEXT