=SUMME(BEREICH.VERSCHIEBEN($A$2;;;1;A5))
Grüezi swiss-boy 
=SUMME(A2:INDIREKT(„Z2S“&B1:wink:)
PS: hast du die Telefonnummer von Michael Schwimmer? Wenn ja, wäre sehr nett du rufst ihn am WE mal an und fragst ihn warum sein Code bei mir (XL2000) erst beim zweiten Mal klappt *gg*.
Beim ersten Einfügen der BDF „Funktionstest“, erscheint „a,b,c“ zur Auswahl/Eingabe, lasse ich das leer und drücke OK, erscheint „#Wert“, was ja korrekt ist.
Rufe ich nun nochmals in der gleichen Zelle Einfügen–Funktion auf, so erscheint wie gewünscht die Auswahl „Variant1,Variant2,Variant3“ samt den gewünschten einzelenen Beschreibungen.
Im Forum von Hans konnte mir keiner helfen seit 4 Tagen, also wird da nix mehr kommen schätz
((
Daß das Ganze flüchtig ist und in die Workbooks_Open-Prozedur gehört weiß ich, aber auch brachte mich nicht weiter den Code dort starten zu lassen.
Den Code hat Michael sowohl auf seiner HP als auch einmal im Internet zu einer Anfrage gepostet, also vermute ich den Fehler bei mir, weiß aber nicht wo der sich bei mir versteckt.
Schönes WE
Gruß
Reinhard
Option Explicit
'
Public Function Functionstest$(a, b, c)
'Dummy-Funktion, um das Prinzip zu zeigen
Functionstest = "Argument a=" & a & \_
", Argument b=" & b & ", Argument c=" & c
End Function
'
Public Sub Funktionsbeschreibung()
Dim strFunktionsname$, strParameter$
Dim strDummy$
Dim strKategorie$, strBeschreibung$
Dim strArgumentbeschreibung$(1 To 3)
Dim strAnf$, strÜbergabe$, strKomma$
strAnf = """": strKomma = ","
'Jede beliebige API - Funktion
'kann benutzt werden. Sie muss nur
'in der entsprechenden .dll vorhanden
'sein. Gross und -Kleinschreibung beachten.
strDummy = "kernel32" & strAnf & "," \_
& strAnf & "GetACP"
'Der Name der zu beschreibenden Funktion
strFunktionsname = "Functionstest"
'Die zukünftigen Parameternamen
strParameter = "Variant1,Variant2,Variant3"
'Die Kategorie
strKategorie = "Neuer Eintrag"
'Hier kommt die allgemeine Beschreibung hin
strBeschreibung = "Die übergebenen Parameter werden angezeigt"
'Die Beschreibung einzelner Parameter
strArgumentbeschreibung(1) = \_
"Der erste Parameter "
strArgumentbeschreibung(2) = \_
"Der zweite Parameter "
strArgumentbeschreibung(3) = \_
"Der dritte Parameter "
'Der String für das Excel4 Makro wird erstellt
strÜbergabe = "REGISTER(" & strAnf & \_
strDummy & strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & strFunktionsname & strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & strParameter & strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & "1" & strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & "" & strKategorie & strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strKomma
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & strBeschreibung & strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & strArgumentbeschreibung(1) \_
& strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & strArgumentbeschreibung(2) \_
& strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & strArgumentbeschreibung(3) \_
& ". " & strAnf
strÜbergabe = strÜbergabe & ")"
'Das Excel4 Makro wird gestartet
Application.ExecuteExcel4Macro strÜbergabe
End Sub
Public Sub UnregisterFunctionsbeschreibung()
Dim strFunktionsname$
Dim strAnf$, strÜbergabe$, strKomma$
Dim strDummy$
'Hier wird die Beschreibung gelöscht
strAnf = """": strKomma = ","
strDummy = "kernel32" & strAnf & "," & \_
strAnf & "GetACP"
strFunktionsname = "Functionstest"
strÜbergabe = "REGISTER(" & strAnf & \_
strDummy & strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strAnf & strFunktionsname & strAnf
strÜbergabe = strÜbergabe & strKomma & \_
strKomma & "0)"
Application.ExecuteExcel4Macro strÜbergabe
strÜbergabe = "UNREGISTER(" & strFunktionsname & ")"
Application.ExecuteExcel4Macro strÜbergabe
End Sub