如何在函数中获取多工作表的最后一列并实现循环遍历
遍历Excel多个工作表并获取每个表的最后一列(已解决)
嘿,作为Excel新手,要实现遍历多个工作表并获取每个表的最后一列,还想把这个功能封装成函数确实有点懵对吧?不过别担心,这里给你整理好可用的VBA代码方案,而且已经有用户通过@sktneer提供的代码顺利解决了问题:
封装好的VBA函数代码
Function GetAllLastColumns() As String Dim ws As Worksheet Dim lastCol As Integer Dim result As String ' 遍历当前工作簿的所有工作表 For Each ws In ThisWorkbook.Worksheets ' 获取当前工作表的最后一列列号(从第一行末尾向左找非空列) lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column ' 拼接结果:包含工作表名、最后一列的列标和列号 result = result & ws.Name & ": 列标-" & Split(ws.Cells(1, lastCol).Address, "$")(1) & ",列号-" & lastCol & vbCrLf Next ws ' 移除最后多余的换行符后返回结果 GetAllLastColumns = Left(result, Len(result) - 1) End Function
函数使用步骤
- 打开你的Excel文件,按下
Alt + F11打开VBA编辑器 - 在左侧工程窗口右键点击你的工作簿,选择「插入」→「模块」
- 将上面的代码粘贴到新模块中
- 返回Excel工作表,在任意空白单元格输入
=GetAllLastColumns(),按下回车就能看到所有工作表的最后一列信息啦
更新:已使用@sktneer提供的代码解决问题,感谢各位的建议。
内容的提问来源于stack exchange,提问作者user9351236
相关产品推荐
相关产品推荐

