gpt4 book ai didi

excel - 如何知道数据的最后一行,无论该行是否隐藏

转载 作者:行者123 更新时间:2023-12-04 19:48:23 25 4
gpt4 key购买 nike

到目前为止,要知道哪一行是数据的最后一行,我使用以下代码:

Function GetPrimeraFilaLibre(paramNombreHoja As String, paramColumnaReferencia As String)
GetPrimeraFilaLibre = Sheets(paramNombreHoja).Range(paramColumnaReferencia & "65536").End(xlUp).Offset(1, 0).Row
End Function

此函数将我想知道最后一行的工作表作为参数,将我将检查它是否有数据的引用列作为第二个参数。

存在隐藏行时该功能不起作用的问题。我想知道最后一行的数据,不管它是否隐藏。

谢谢。

最佳答案

Range.Find 可用于返回最后一行,无论是否存在隐藏行。

Function GetPrimeraFilaLibre(paramNombreHoja As String, paramColumnaReferencia As String) As Long
With Sheets(paramNombreHoja).Columns(paramColumnaReferencia)
GetPrimeraFilaLibre = .Find(What:="*", After:=.Cells(1, 1), LookAt:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
End With
End Function

Function GetLastRow(SheetName As String, ColumnNameOrIndex As String) As Long
With Sheets(SheetName).Columns(ColumnNameOrIndex)
GetLastRow = .Find(What:="*", After:=.Cells(1, 1), LookAt:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
End With
End Function

附录

正如 VBasic2008 所指出的,我们需要进行调整以处理 MergedCells

Function GetLastRow(SheetName As String, ColumnNameOrIndex As String) As Long
Dim Target As Range
With Sheets(SheetName).Columns(ColumnNameOrIndex)
Set Target = .Find(What:="*", After:=.Cells(1, 1), LookAt:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
End With
GetLastRow = Target.MergeArea.Rows.Count + Target.Row - 1
End Function

关于excel - 如何知道数据的最后一行,无论该行是否隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71673475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com