Function getMaxColumnCount() As Long
Dim lColumn As Long, sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sheet1")
lColumn = sh.Cells(6, Columns.count).End(xlToLeft).Column
getMaxColumnCount = lColumn
End Function
在sheet1中,我的数据从第6行和第2列开始,最后以第25列结束。 使用上面的函数,它返回的最大列数为25
现在我像一个场景一样有两组数据
在同一张纸中,只有两组数据 第一组数据(6,2)至(6,25) 第二组数据从(6,30)到(6,50),对于我想使用上述代码将其输出为20的情况,我应该怎么做
答案 0 :(得分:2)
因此,请明确一下,如果您的第一组数据有23列,而第二组数据有20列,并且说有第3组数据有5列,那么您想要5个答案吗?另外,所有集合之间是否将至少有一个空白单元格? – Siddharth Rout 5分钟前编辑
@Siddharth Rout是的,只有这样– 2分钟前uservba12
这是您要尝试的吗?
逻辑:获取最后一列,然后找到之前的空白单元格。减去以获得列数。
代码:
Option Explicit
Function GetLastSetColumnCount() As Long
Dim lCol As Long
Dim BlankCol As Long
Dim i As Long
Dim ws As Worksheet
Set ws = Activesheet '~~> OR relevant sheet
With ws
lCol = .Cells(6, .Columns.Count).End(xlToLeft).Column
For i = lCol To 1 Step -1
If Len(Trim(.Cells(6, i).Value)) = 0 Then
BlankCol = i
Exit For
End If
Next i
End With
GetLastSetColumnCount = lCol - BlankCol
End Function