我有一个有两列的表格。我需要从选定的单元格“金”开始计算向上的行数。
A B
Names | Numbers
-------------
2 Steve 109
3 John 107
4 Jerry 356
5 Julie Text
6 Chris Text
7 Doug Text
8 Kim Text
9 Mike 101
Doug是当前选中的单元格。如何使用goin up和IsNumeric()函数计算从Doug到Julie的行数,以便在第一个数字处停止,但只计算所有文本?注意:文本可以变化并且不一定都一样。2文本和的行数也会变化。3我只想计算文本的行数。
1条答案
按热度按时间nnvyjq4y1#
我认为下面的代码/宏应该能达到你想要的效果。它的工作原理和评论中
karma
的描述一样,我认为你是想用IsNumeric()
和一个while循环向上循环。目前,它不检查所选单元格是否为空,也不将空单元格视为包含文本。后者可以通过将while循环的条件更改为
While ((Not (IsNumeric(Cells(row, 2).Value)) Or IsEmpty(Cells(row, 2).Value)) And row > 1)
来实现。类似地,要检查所选单元格是否为空,if语句将为If (ActiveCell.Column = 1 And Not(IsEmpty(ActiveCell.Value))) Then
。此外,我不知道结果应该如何返回,所以我就把它放进了C1细胞。我希望这就是,你要找的。编辑:如果您想选择B列中包含第一个数值的单元格,则必须在
End If
之前添加Cells(row, 1).Select
。