,當我使用這個VB代碼#價值!使用宏
Public Function LastVersionOwned(rCol As Range, versionOwned As Range) As Range
Set LastVersionOwned = Application.WorksheetFunction.Lookup(2, 1/(rCol = rCol.Find("*", rCol.Cells(1), , , , xlPrevious)), versionOwned)
End Function
什麼是supossed做的是找到最後一個非空行的範圍,然後使用該值來獲得該行的頭,但是當我使用它,它返回#VALUE! RCOL是範圍(在這裏我想要得到的最後一個非空值,例如,12行的列表:F12)和versionOwned是表的表頭(也一個範圍,但靜態C11:F11)
如果我使用像這樣
Public Function LastVersionOwned(rCol As Range) As Range
Set LastVersionOwned rCol.Find("*", rCol.Cells(1), , , , xlPrevious)
End Function
而在Excel中我=LOOKUP(2,1/(C12:F12=LastVersionOwened(C12:F12)),C$11:F$11)
它的工作,任何想法我怎麼能修復這個bug?
感謝
我很困惑什麼你正在嘗試做的。例如:您可以找到列A中最後一個空單元格,比如說A100。那麼你使用這個值來做什麼? 「獲得該行的標題」是什麼意思? – JimmyPena 2012-01-27 18:14:17
我試圖找到一行中的最後一個非空單元,例如(在A2:F2的範圍內,最後一個非空單元可能是C:2),C2單元有一個頭,假設行A1:F1的頭是asdfgh,所以如果最後一個非空單元是C2,我想得到C1頭將是D – user1112251 2012-01-27 18:18:17