如何在vba中find最后一个可见的列号?
如何使用vba查找表单中的最后一个可见列(不隐藏)?
我使用了下面的代码:
Dim LastColumn As Integer If WorksheetFunction.CountA(Cells) > 0 Then 'Search for any entry, by searching backwards by Columns. LastColumn = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column MsgBox LastColumn End If
但它给了我最后一个列号。 我想要最后一个可见的列号。 任何帮助?
试试下面。 您可以使用xlCellTypeVisible来指定隐藏的vs非隐藏的单元格。
Sub counthidden() MsgBox ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Columns.Count End Sub
您可以使用SpecialCells来帮助:
Dim rng1 As Range Dim rng2 As Range On Error Resume Next Set rng1 = ActiveSheet.UsedRange.SpecialCells(xlVisible) On Error GoTo 0 If Not rng1 Is Nothing Then Set rng2 = rng1.Find(What:="*", After:=rng1.Cells(1), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious) MsgBox rng2.Column End If
令人惊讶的简单,事实certificate。 我正在寻找一个类似的问题。
Sub lastVisibleColumn() ' This should select the last fully visible column on the active window ' This part selects the current top left visible cell regardless of zoom ActiveWindow.VisibleRange.Select ActiveCell.Offset(0, 0).Select startColumn = ActiveCell.Column ' Large scroll right 1 page ActiveWindow.LargeScroll ToRight:=1 ActiveWindow.VisibleRange.Select ' Select the top left cell again, -1 column to get to 'the previous scrollable page ActiveCell.Offset(0, -1).Select ActiveWindow.LargeScroll ToLeft:=1 lastColumn = ActiveCell.Column End Sub