我是VBA新手,在練習以下程式,會進入LOOP跳不出來
原本用意是在欄V位輸入資料(觸發程序)後會在D1:E10範圍內找相同資料後,輸出至相對的欄位B
用一般的 Sub () 可行,改用 Sub Worksheet_Change(ByVal Target As Range)就會進入無限回圈中
Private Sub Worksheet_Change(ByVal Target As Range)
Dim X As Variant
Dim I As Integer
X = Range("A" & Rows.Count).End(xlUp).Row
For I = 1 To X
Cells(I, 2) = Application.VLookup(Cells(I, 1), Range("D1:E10"), 2)
Next I
End Sub
Application.EnableEvents = False
For I = 1 To X
Cells(I, 2) = Application.VLookup(Cells(I, 1), Range("D1:E10"), 2)
Next I
Application.EnableEvents = True作者: jackyq 時間: 2015-12-8 21:56
考題來了 !!
正常下應該如(1) 一樣陷入無窮回圈
有沒有人知道為何 (2) 卻不會陷入無窮回圈
(1)
Private Sub Worksheet_Change(ByVal Target As Range)
For w = 1 To 2
[A1] = Val([A1]) + 1
Next
End Sub
(2)
Private Sub Worksheet_Change(ByVal Target As Range)
For w = 1 To 1
[A1] = Val([A1]) + 1
Next
End Sub作者: c_c_lai 時間: 2015-12-9 08:32