Thema Datum  Von Nutzer Rating
Antwort
Rot Benutzerdefinierte Funktion "ANZAHLBUCHSTABEN"
12.07.2021 16:25:51 Alex
NotSolved
12.07.2021 16:51:05 Gast51832
*****
NotSolved
12.07.2021 17:04:14 Gast85492
NotSolved
12.07.2021 17:31:39 Gast24794
NotSolved
12.07.2021 18:15:17 Gast98805
NotSolved
12.07.2021 18:22:09 Gast50778
NotSolved
13.07.2021 17:44:54 Gast62614
NotSolved
18.07.2021 13:00:13 Alexander
NotSolved
12.07.2021 19:31:56 Gast68241
NotSolved
13.07.2021 17:46:23 Gast47332
NotSolved
16.07.2021 15:12:42 Gast25698
NotSolved
16.07.2021 16:46:40 Gast66256
NotSolved

Ansicht des Beitrags:
Von:
Alex
Datum:
12.07.2021 16:25:51
Views:
351
Rating: Antwort:
  Ja
Thema:
Benutzerdefinierte Funktion "ANZAHLBUCHSTABEN"

Guten Tag,

ich bräuchte im Rahmen einer Prüfungsvorbereitung bei folgender Aufgabenstellung eure Hilfe:

Erstelle eine benutzerdefinierte Funktion ANZAHLBUCHSTABEN innerhalb von Microsoft Excel, die in beliebigen als Argumenten anzugebenden Zellen und Zellbereichen alle Zeichen in den Werten dieser Zellen durchläuft und die Gesamtzahl aller gefundenen Buchstaben (egal, ob groß oder klein) als Funktionsergebnis zurückgibt. Wurden keine Zellen mit Buchstaben darin gefunden, soll 0 zurückgegeben werden. Die erstellte Funktion soll im Funktionsassistenten in der Rubrik Informationen erscheinen und einen erklärenden Text enthalten.

Mein Code sieht folgendermaßen aus:

'Funktion, die die Anzahl gefundener Buchstaben in Zellen und Zellbereichen ausgibt

Public Function ANZAHLBUCHSTABEN(ParamArray Args() As Variant) As Integer
    Dim i As Integer
    Dim s As Integer
    Dim sum As Integer
    
    sum = 0
    
    Const ALLOWED_CHARS = "abcdefghijklmnopqrstuvwxyzß"
    
    'Alle Parameter durchlaufen
    For i = LBound(Args) To UBound(Args)
        
        'Prüfen ob etwas eingegeben wurde
        If InStr(LCase(CStr(Args(i))), ALLOWED_CHARS) > 0 Then
            
            'Alle Stellen des Arguments durchlaufen und prüfen, ob Buchstaben vorkommen
            For s = 1 To Len(Args(i))
                If Mid(LCase(CStr(Args(i))), s, 1) = ALLOWED_CHARS Then
                    sum = sum + 1
                Else
                    sum = sum + 0
                End If
            Next
        
        ElseIf TypeName(Args(i)) = "Range" Then
            
            'Bei Zellbereichen jede Zelle daraus betrachten
            Dim Zelle As Range
            
            For Each Zelle In Args(i)
                
                'Zellenargument zu einem String mit nur Kleinbuchstaben machen und prüfen, ob ein Buchstabe drinne vorkommt
                If InStr(LCase(CStr(Zelle.Value)), ALLOWED_CHARS) > 0 Then
                    
                    'Alle Argumente einer Zelle durchlaufen und die Buchstaben zählen
                    For s = 1 To Len(Zelle.Value)
                        If Mid(LCase(CStr(Zelle.Value)), s, 1) = ALLOWED_CHARS Then
                            sum = sum + 1
                        Else
                            sum = sum + 0
                        End If
                    Next
                End If
            Next
        Else
            sum = sum + 0
        End If
        ANZAHLBUCHSTABEN = sum
    Next
End Function
    

Sub SetFunctionInfos()
    Application.MacroOptions Macro:="ANZAHLBUCHSTABEN", Description:="Funktion zur Bestimmung der Anzahl von vorkommenden Buchstaben", Category:=9
End Sub

Wo liegt mein Fehler und wie behebe ich selbigen?

Vielen Dank im Voraus.

Beste Grüße

 


Ihre Antwort
  • 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: Name: Email:



  • 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
Rot Benutzerdefinierte Funktion "ANZAHLBUCHSTABEN"
12.07.2021 16:25:51 Alex
NotSolved
12.07.2021 16:51:05 Gast51832
*****
NotSolved
12.07.2021 17:04:14 Gast85492
NotSolved
12.07.2021 17:31:39 Gast24794
NotSolved
12.07.2021 18:15:17 Gast98805
NotSolved
12.07.2021 18:22:09 Gast50778
NotSolved
13.07.2021 17:44:54 Gast62614
NotSolved
18.07.2021 13:00:13 Alexander
NotSolved
12.07.2021 19:31:56 Gast68241
NotSolved
13.07.2021 17:46:23 Gast47332
NotSolved
16.07.2021 15:12:42 Gast25698
NotSolved
16.07.2021 16:46:40 Gast66256
NotSolved