in meinem Sheet mit vielen Zeilen blende ich bei workbook open einzelne Spalten aus, will aber dennoch zeilenweise die Werte der eingeblendeten (sichtbaren) Zellen summieren.
Kann mir jemand bitte eine VBA-Hilfe geben?
Vielen Dank,
Grüße, Jörg
Public Function STEILERGEBNIS(Funktion As Integer, Bereich As Range) As Double
Dim rng As Range, r As Range
Application.Volatile
On Error GoTo ErrExit
If Funktion > 100 Then
For Each r In Bereich
If r.ColumnWidth = 0 Then
If rng Is Nothing Then
Set rng = r
Else
Set rng = Union(rng, r)
End If
End If
Next
Else
For Each r In Bereich
If r.ColumnWidth > 0 Then
If rng Is Nothing Then
Set rng = r
Else
Set rng = Union(rng, r)
End If
End If
Next
End If
If Not rng Is Nothing Then
With Application
Select Case Funktion
Case 1, 101
STEILERGEBNIS = .Average(rng)
Case 2, 102
STEILERGEBNIS = .Count(rng)
Case 3, 103
STEILERGEBNIS = .CountA(rng)
Case 4, 104
STEILERGEBNIS = .Max(rng)
Case 5, 105
STEILERGEBNIS = .Min(rng)
Case 6, 106
STEILERGEBNIS = .Product(rng)
Case 7, 107
STEILERGEBNIS = .StDev(rng)
Case 8, 108
STEILERGEBNIS = .StDevP(rng)
Case 9, 109
STEILERGEBNIS = .Sum(rng)
Case 10, 110
STEILERGEBNIS = .Var(rng)
Case 11, 111
STEILERGEBNIS = .VarP(rng)
Case Else
STEILERGEBNIS = CVErr(xlErrValue)
End Select
End With
End If
Exit Function
ErrExit:
STEILERGEBNIS = CVErr(xlErrValue)
End Function
Range("A1")=STEILERGEBNIS(9,Range("B2:AB2"))