以下是我寫的,也是無法執行,可以幫我修改一下嗎?
Sub bbb()
For i = 3 To Worksheets("sheet1").Range("A1").End(xlDown).Row
j = i + 1
If Cells(i - 1, 2) < 0 And Cells(i, 2) > 0 And Abs(Cells(i - 1, 2) - Cells(i, 2)) > 5 Then
Do Until Cells(j, 2) < Cells(i, 2)
Cells(i, 3) = Cells(j, 1) - Cells(i, 1)
Else
If Cells(i - 1, 2) > 0 And Cells(i, 2) < 0 And Abs(Cells(i, 2) - Cells(i - 1, 2)) > 5 Then
Do Until Cells(j, 2) >Cells(i, 2)
Cells(i, 3) = Cells(i, 1) - Cells(j, 1)
End If
End If
Next
End Sub作者: Hsieh 時間: 2010-8-16 23:29
試試看
Sub nn()
r = 2: yn = 1
Do Until r > [B65536].End(xlUp).Row
Do While Cells(r, 2) * yn > 0 Or Abs(Cells(r, 2)) < 5
r = r + 1
Loop
Set x = Cells(r, 1)
Do While Cells(r, 2) * yn < 0 And Cells(r, 2) * yn < Cells(r - 1, 2) * yn
Do While Cells(r, 2) * yn > 0 'Or Abs(Cells(r, 2)) < 5
r = r + 1
Loop
Set x = Cells(r, 1)
Do While Cells(r, 2) * yn < 0 And Cells(r, 2) * yn < Cells(r - 1, 2) * yn
r = r + 1
Loop
Set y = Cells(r, 1)
x.Offset(, 2) = (x - y) * yn
yn = yn * -1
Loop
End Sub
複製代碼
作者: color790 時間: 2010-8-17 22:58
本帖最後由 color790 於 2010-8-17 23:00 編輯
HI~版主
我的意思是紅色那一段是必需的,而且要上下相減的絕對值>5,但我改這樣卻會出現錯誤?
可以再請您幫我修改一下嗎?
Sub nn()
r = 2: yn = 1
Do Until r > [B65536].End(xlUp).Row
Do While Cells(r, 2) * yn > 0 And Abs(Cells(r, 2) - Cells(r - 1, 2)) > 5
r = r + 1
Loop
Set x = Cells(r, 1)
Do While Cells(r, 2) * yn < 0 And Cells(r, 2) * yn < Cells(r - 1, 2) * yn
r = r + 1
Loop
Set y = Cells(r, 1)
x.Offset(, 2) = (x - y) * yn
yn = yn * -1
Loop
End Sub作者: Hsieh 時間: 2010-8-18 00:08