返回列表 上一主題 發帖

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

試試看
  1. Sub nn()
  2. r = 2: yn = 1
  3. Do Until r > [B65536].End(xlUp).Row
  4. Do While Cells(r, 2) * yn > 0 Or Abs(Cells(r, 2)) < 5
  5. r = r + 1
  6. Loop
  7. Set x = Cells(r, 1)
  8. Do While Cells(r, 2) * yn < 0 And Cells(r, 2) * yn < Cells(r - 1, 2) * yn
  9. r = r + 1
  10. Loop
  11. Set y = Cells(r, 1)
  12. x.Offset(, 2) = (x - y) * yn
  13. yn = yn * -1
  14. Loop
  15. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 3# color790
B19跟B24絕對值是小於5阿
其中只是yn變數用來反轉正負值
這樣你去比較不同處應該可以明瞭
  1. Sub nn()
  2. r = 2: yn = 1
  3. Do Until r > [B65536].End(xlUp).Row
  4. Do While Cells(r, 2) * yn > 0 'Or Abs(Cells(r, 2)) < 5
  5. r = r + 1
  6. Loop
  7. Set x = Cells(r, 1)
  8. Do While Cells(r, 2) * yn < 0 And Cells(r, 2) * yn < Cells(r - 1, 2) * yn
  9. r = r + 1
  10. Loop
  11. Set y = Cells(r, 1)
  12. x.Offset(, 2) = (x - y) * yn
  13. yn = yn * -1
  14. Loop
  15. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 5# color790
  1. Sub nn()
  2. r = 2: yn = 1
  3. Do Until r > [B65536].End(xlUp).Row
  4. Do While Cells(r, 2) * yn > 0 Or Abs(Cells(r, 2) - Val(Cells(r - 1, 2))) < 5
  5. r = r + 1
  6. Loop
  7. Set x = Cells(r, 1)
  8. Do While Cells(r, 2) * yn < 0 And Cells(r, 2) * yn < Cells(r - 1, 2) * yn
  9. r = r + 1
  10. Loop
  11. Set y = Cells(r, 1)
  12. x.Offset(, 2) = (x - y) * yn
  13. yn = yn * -1
  14. Loop
  15. End Sub
複製代碼
學海無涯_不恥下問

TOP

1.用Val是避免儲存格為文字造成錯誤
2.用or 跟寫<5,那是要不成立的狀況
學海無涯_不恥下問

TOP

        靜思自在 : 原諒別人就是善待自己。
返回列表 上一主題