[英]how to find last visible column number in vba?
如何使用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指定隱藏單元格還是非隱藏單元格。
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
事實證明這很簡單。 我在尋找類似的問題。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.