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

本文介绍如何利用VBA编写两个函数,分别找出Excel表格中每行数据的第一个非空单元格(代表商品首次销售月份)和最后一个非空单元格(代表商品最近一次销售月份),从而帮助用户轻松获取商品的销售周期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

使用方法:

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

插入-模块

然后输入:


 1 Function Last0(ByVal Int_Row As Integer) As Integer
 2     Last0 = 14
 3     Do While Cells(Int_Row, Last0) = "" And Last0 >= 3
 4         Last0 = Last0 - 1
 5     Loop
 6 
 7 End Function
 8 
 9 '这里需要注意的是 函数的返回值貌似是 变量必须与方法名一致 很奇葩的要求....
10 Function Frist0(ByVal Int_Row As Integer) As Integer
11     Frist0 = 3
12     Do While Cells(Int_Row, Frist0) = "" And Frist0 <= 255
13         Frist0 = Frist0 + 1
14     Loop
15     If Frist0 > 255 Then
16         Frist0 = 8888
17     End If
18 End Function

 

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值