返回列表 上一主題 發帖

可以幫我解一下嗎???3Q

可以幫我解一下嗎???3Q

本帖最後由 color790 於 2010-8-17 00:01 編輯

1.當B欄這一行由正轉負且絕對值大於5(ex. abs(B10-B9) = 6)
2.當負值開始變大時(ex. B13)
3.對應到A欄 步驟1 - 步驟2 (ex. C10= A10-A13)
4. 則為上面步驟相反(當B欄這一行由負轉正且絕對值大於5(ex.B15)--->正值開始變小(ex. B19)--->對應到A欄 步驟2 - 步驟1(ex. C19 - C15)

以下是我寫的,也是無法執行,可以幫我修改一下嗎?
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

Book1.rar (4.42 KB)

初學者color

HI~感謝版主的回覆
在C20,C25時位置跔掉,應該在C19,C24,另外...按照RULE應該是C19=A19-A21
可以再幫我修改嗎?另外....可以幫我解釋一下嗎??感恩感恩
初學者color

TOP

本帖最後由 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
初學者color

TOP

本帖最後由 color790 於 2010-8-18 12:55 編輯

感謝版主的幫忙,這麼晚了還幫我修改...^^
真的沒問題了!!
另外請問版主一下
Or Abs(Cells(r, 2) - Val(Cells(r - 1, 2))) < 5
1.為什麼要用or , Val  ?
2.為什麼上下相減的絕對值>5 , 公式卻是寫<5
初學者color

TOP

喔~~原來如此
感恩不盡
初學者color

TOP

        靜思自在 : 【時間無法遮擋】怕時間消逝,花了許多心血,想盡各式方法要遮擋時間,結果是:浪費了更多時間,且一無所成!
返回列表 上一主題