wie kann ich in einer selbstgeschriebenen Funktion einen
variablen Bereich (Range) vom Anwender eingeben lassen,
der danach als Zähler für einen Schleifendurchlauf dienen
soll.
Jemand ne Lösung auf Lager? Vielen Dank vorab.
Gruss,
D.
Function Summe2(rng As Range)
Dim rng2 As Range
For Each rng2 In rng
Summe2 = Summe2 + rng2 ^ 2
Next
End Function
Sub Makro1()
anfang = InputBox("Bitte Wert1 eingeben!")
ende = InputBox("Bitte Wert2 eingeben!")
For i = anfang to ende
next i
End Sub
Sub RangeEingeben()
Dim rngBereich As Range
Dim lngHilf As Long
On Error Resume Next
Set rngBereich = Application.InputBox(" Bitte geben Sie einen Bereich ein !", " Bereich", Type:=8)
If Err.Number <> 0 Then
MsgBox " Sie haben Abbrechen gedrückt !", vbInformation
Else
MsgBox "Anzahl Reihen = " & rngBereich.Rows.Count & vbCr & _
"Anzahl Spalten = " & rngBereich.Columns.Count & vbCr & _
"Anzahl Zellen = " & rngBereich.Count, vbInformation
End If
On Error GoTo 0
End Sub
Function ArMittel(rngBereich As Range, UGrenze As Variant, OGrenze As Variant) As Variant
Dim rngZelle As Range
Dim lngWerte As Long
Dim dblSumWerte As Double
If IsNumeric(UGrenze) And IsNumeric(OGrenze) Then
If UGrenze > OGrenze Then
ArMittel = "Untergrenze größer Obergrenze!"
Exit Function
End If
For Each rngZelle In rngBereich
If rngZelle <= OGrenze And rngZelle >= UGrenze Then
dblSumWerte = dblSumWerte + rngZelle
lngWerte = lngWerte + 1
End If
Next 'rngZelle
If lngWerte > 0 Then
ArMittel = dblSumWerte / lngWerte
Else
ArMittel = "keine Werte im Bereich"
End If
Else
ArMittel = "Werte für Ober- und Untergrenze eingeben!"
End If
End Function
| |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||