我有一个问题,选择范围,直到至少有一个列有数值
我有一个数据表:
A B C
Type Height Length
1 2 2
2 3 9
3 8 2
2 3
1 0
1
我一直在阅读如何选择范围,但问题我解决不了的是如何选择until the row where at least one column contains a numeric value
以上的范围。但问题在于范围是a part of a reference
,并且Excel假定使用的行数较大,因为很多行都是空白的并且是参考的一部分。
所以我的问题是:
How do I select the above range until the first row where none of columns A, B or C contain at least one numeric entry, and where the number of used rows is larger because the range is a part of reference
。
我试图
Sub Choose()
Dim Lastrow As Integer
Lastrow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
MsgBox Lastrow
'Range("A2:C" & Lastrow).Select
End Sub
但MSGBOX返回118,这是因为我要选择的范围是一个参考的一部分......
有没有人有一个想法?
编辑: 那也不行,还是选择空单元格,因为它是参考...
Sub Sort3()
Dim oneRange As Range
Dim aCell As Range
Worksheets("Analys").Select
Set oneRange = ActiveCell.CurrentRegion.Range("D1")
Set aCell = Range("M10")
oneRange.Sort Key1:=aCell, Order1:=xlDescending, Header:=xlYes
End Sub
因为您想查找'第一行,其中列A,B或C都不包含至少一个数字条目'最简单的解决方案是使用循环。如果你想要单线解决方案,你可以使用'Lastrow = Evaluate(“= MATCH(”“”,A:A&B:B&C:C,0)“),但它可能很慢。这个更快一些:'Lastrow = Evaluate(“= MATCH(”“”“,A1:A1000&B1:B1000&C1:C1000,0)”)'但你应该确定'1000'(或任何其他数字)大于lastrow –
@simoco谢谢,但它仍然选择少数行.... 110,而它应该选择118 ... – user1665355