Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Benutzerdefinierte Funktion "Mittel" |
17.08.2021 12:18:29 |
Alexander |
|
|
|
17.08.2021 13:32:35 |
Gast86125 |
|
|
|
17.08.2021 14:11:11 |
Alexander |
|
|
|
17.08.2021 14:38:35 |
Alexqander |
|
|
|
17.08.2021 19:14:54 |
Gast22906 |
|
|
|
19.08.2021 10:18:57 |
Alexander |
|
|
|
19.08.2021 22:46:16 |
Gast32926 |
|
|
Von:
Alexander |
Datum:
17.08.2021 12:18:29 |
Views:
357 |
Rating:
|
Antwort:
|
Thema:
Benutzerdefinierte Funktion "Mittel" |
Guten Tag,
ich hänge leider mal wieder bei einer Aufgabe und finde den Fehler nicht.
Es soll eine Funktion erstellt werden, die als erstes Argument einen booleschen Wert annimmt (der bestimmt, ob nur positive oder alle Zahlen betrachtet werden sollen) und des Weiteren den Mittelwert aller markierten Zahlen berechnen soll. Dabei zählen nur numerische Werte. Zellen in denen nichts eingetragen ist sollen nicht mitgezählt werden.
Nun habe ich folgenden Code (und bekomme nur Ergebnisse für einzelne Argumente oder mehrere Argumente, die ich händisch eingebe. Markiere ich Zellenbereiche ist der Wert "#Wert"):
Option Explicit
Public Function Mittel(NurPosZahlen As Boolean, ParamArray AlleArgumente() As Variant) As Double
Dim Argument As Variant
Dim Zelle As Range
Dim Summe, Anzahl As Double
For Each Argument In AlleArgumente
If NurPosZahlen = True Then
If IsNumeric(Argument) And Argument >= 0 And Argument <> "" Then
Summe = Summe + Argument
Anzahl = Anzahl + 1
ElseIf TypeName(Argument) = "Range" Then
For Each Zelle In Argument
If IsNumeric(Zelle.Value) And Zelle.Value >= 0 And Zelle.Value <> "" Then
Summe = Summe + Zelle.Value
Anzahl = Anzahl + 1
End If
Next
End If
ElseIf NurPosZahlen = False Then
If IsNumeric(Argument) And Argument <> "" Then
Summe = Summe + Argument
Anzahl = Anzahl + 1
ElseIf TypeName(Argument) = "Range" Then
For Each Zelle In Argument
If IsNumeric(Zelle.Value) And Zelle.Value <> "" Then
Summe = Summe + Zelle.Value
Anzahl = Anzahl + 1
End If
Next
End If
End If
Next
If Anzahl > 0 Then
Mittel = Summe / Anzahl
Else
Mittel = 0
End If
End Function
Wo steckt der Fehler?
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Benutzerdefinierte Funktion "Mittel" |
17.08.2021 12:18:29 |
Alexander |
|
|
|
17.08.2021 13:32:35 |
Gast86125 |
|
|
|
17.08.2021 14:11:11 |
Alexander |
|
|
|
17.08.2021 14:38:35 |
Alexqander |
|
|
|
17.08.2021 19:14:54 |
Gast22906 |
|
|
|
19.08.2021 10:18:57 |
Alexander |
|
|
|
19.08.2021 22:46:16 |
Gast32926 |
|
|