利用VBA查找excel中一行某列第一次不为空与最后一列不为空的列数
昨日同事有需求,想知道每个商品第一次销售的月份,以及最后一次销售的月份. 本想通过什么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,表明这行没有数据。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2014-01-29 BugTracker.NET的配置