返回列表 上一主題 發帖

[發問] 請教此巨集要如何寫 ?

[發問] 請教此巨集要如何寫 ?

e20到e200 為公式如下
A20=IF(Y20="","",Y20/(y20-z20))
A21=IF(Y21="","",Y21/(y21-z21))
....
......
a1等於e20到e200 之間倒數第一筆"不等於空白"儲存格的值
巨集如何寫?

回復 1# t8899


    倒數第一筆不等於空白的值,指的是最後一筆有資料的值嗎?
    如果是的話:
  1. sub test
  2. For Each rng In [E20:E200]
  3. If rng <> "" Then [a1] = rng.Value
  4. Next
  5. end sub
複製代碼

TOP

本帖最後由 t8899 於 2014-3-18 15:12 編輯
    倒數第一筆不等於空白的值,指的是最後一筆有資料的值嗎?
    如果是的話:
owen06 發表於 2014-3-18 13:03

測試一下,您的巨集大約花3-4秒 (滑鼠會出現漏斗狀)
下面這巨集不到一秒,提供給您參考
不知下面這巨集為何會比較快???
Sub aaa()
For i = 200 To 20 Step -1
    If Cells(i, 5).Value <> "" Then
    Cells(1, 1).Value = Cells(i, 5).Value
    GoTo exitline
    Else
    End If
  Next i
  exitline:
End Sub

TOP

本帖最後由 t8899 於 2014-3-18 15:28 編輯

這更快,一行就解決
[a1] = Range("e" & Range("e20:e200").Find("*", , xlValues, , , xlPrevious).Row).Value

TOP

回復 4# t8899
[A1] = [E:E].Find("*", , xlValues, , , xlPrevious)
學海無涯_不恥下問

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題