Function
FilterErsteZelle(startp
As
Integer
)
As
Range
Dim
rngSrc
As
Range, rngDst
As
Range
If
ActiveSheet.AutoFilterMode
And
ActiveSheet.FilterMode
Then
Set
rngSrc = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
If
rngSrc.Areas(1).Rows.Count > 1
Then
Set
rngDst = rngSrc.Areas(1).Cells(2, 1)
ElseIf
rngSrc.Areas.Count > 1
Then
Set
rngDst = rngSrc.Areas(2).Cells(startp + 1, 1)
End
If
If
Not
rngDst
Is
Nothing
Then
Set
FilterErsteZelle = rngDst
End
If
End
Function
Function
FilterLetzteZelle(endp
As
Integer
)
As
Range
Dim
rngSrc
As
Range, lastRow
As
Range
Dim
valueRange
As
Range
Dim
valueRow
As
Range
Dim
sumRows
As
Integer
Set
valueRange = Range(
"A2:A"
& Cells(Rows.Count,
"A"
).
End
(xlUp).row)
If
ActiveSheet.AutoFilterMode
And
ActiveSheet.FilterMode
Then
For
Each
valueRow
In
valueRange
If
valueRow.EntireRow.Hidden =
False
Then
sumRows = sumRows + 1
Next
Set
rngSrc = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
If
rngSrc.Areas(1).Rows.Count > 1
Then
Set
lastRow = rngSrc.Areas(1).Cells(sumRows - (endp - 1), 1)
ElseIf
rngSrc.Areas.Count > 1
Then
Set
lastRow = rngSrc.Areas(2).Cells(sumRows - (endp - 1), 1)
End
If
If
Not
lastRow
Is
Nothing
Then
SetFilterLetzteZelle = lastRow
End
If
End
Function
Hoffentlich kann mir hier jemand helfen.
LG
Hans Peter