获取隐藏列时的最后一个列号

2024-01-10

我需要获取第二行的最后一个列号,而引用的列是隐藏的。
如果隐藏最后一列,下面的代码将输出错误的结果。

Sub Last_column_number_even_is_hidden()
 
    Dim ws As Worksheet, lastCol_n As Long
 
    Set ws = ActiveSheet
     lastCol_n = ws.Cells(2, ws.Columns.Count).End(xlToLeft).Column
      MsgBox ("Last column number is " & lastCol_n)
End Sub

看起来只有Find不关心范围内的隐藏单元格... 请尝试以下方法:

Sub testLastColEvenHidded()
    Dim ws As Worksheet, lastCol_n As Long, rng2 As Range
 
    Set ws = ActiveSheet
    Set rng2 = ws.UsedRange.rows(2)
 
    lastCol_n = rng2.Find(What:="*", After:=rng2.cells(1), Lookat:=xlPart, LookIn:=xlFormulas, _
                                SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).column
                
    Debug.Print lastCol_n
End Sub

UsedRange可能不可靠,但仅添加到范围中...因此,使用它您可以提取特定行的完整切片以使用 Find 处理它,它不关心不可见的单元格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取隐藏列时的最后一个列号 的相关文章

随机推荐