,当我使用这个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