利用VBA查找excel中一行某列第一次不为空与最后一列不为空的列数

昨日同事有需求,想知道每个商品第一次销售的月份,以及最后一次销售的月份. 本想通过什么excel函数来解决,但是找了半天也没找到合适的,最后还是通过VBA来解决吧.

使用方法:

Excel工具-宏-Visual Basic编辑器 在左侧栏中点右键,

插入-模块

然后输入:

 Function Last0(ByVal Int_Row As Integer) As Integer
Last0 =
Do While Cells(Int_Row, Last0) = "" And Last0 >=
Last0 = Last0 -
Loop End Function '这里需要注意的是 函数的返回值貌似是 变量必须与方法名一致 很奇葩的要求....
Function Frist0(ByVal Int_Row As Integer) As Integer
Frist0 =
Do While Cells(Int_Row, Frist0) = "" And Frist0 <=
Frist0 = Frist0 +
Loop
If Frist0 > Then
Frist0 =
End If
End Function

然后在单位格中可以直接引用

例如:=Frist0(4) 返回值即为4行中第一个不为0的单元格列号,

如果函数返回8888,表明这行没有数据。

上一篇:SpringMVC学习笔记六:使用 hibernate-validator注解式数据校验


下一篇:eclipse maven插件问题:error occurred while automatically activating bundle org.eclipse.m2e.core.ui (525)