Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UDF funktionieren nicht

UDF funktionieren nicht
16.01.2013 19:03:20
Rolf
Hallo Experten,
ich habe hier eine Funktion geschrieben, die aber nicht immer funktioniert. Sie funktioniert, wenn ich die Funktion in der Funktionszelle (über der Tabelle) ausführe, aber nicht, wenn ich z.b. die Zelle markiert und mit enter wieder verlasse, und auch nicht, wenn ich eine der Bezüge (Prüfling z.B.) ändere.
Kann mir jemand sagen, was ich hier ändern muss?
Rolf
Function WerteÜbertragen(Prüfling, Fach, Bewertungspunkt)
With Worksheets("Eingaben der Teilleistungen").Range("Prüfung_Teilleistungen")
'Zeile Prüfling suchen
nPrüflinge = .Rows.Count
nFächer = .Columns.Count
For n = 1 To nPrüflinge
If .Cells(n, 1) = Prüfling Then ZPrüfling = Cells(n, 1).Row
Next n
'Spalte Fach suchen
For n = 1 To nFächer
If .Cells(1, n) = Fach Then SFach = Cells(1, n).Column
Next n
S = SFach + Bewertungspunkt - 1
'Wert auslesen
Ausgabe = .Cells(ZPrüfling, S)
End With
WerteÜbertragen = Ausgabe
End Function

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UDF funktionieren nicht
16.01.2013 19:13:23
Rudi
Hallo,
wozu ne UDF? Geht doch mit Formeln.
Gruß
Rudi

AW: UDF funktionieren nicht
16.01.2013 19:20:47
Rolf
wie?
Rolf

AW: UDF funktionieren nicht
16.01.2013 19:28:31
Rudi
Hallo,
K2: Name; K3: Fach; K4: Bewertungspunkt.
=SVERWEIS(K2;Prüfung_Teilleistungen;VERGLEICH(K3;INDEX(Prüfung_Teilleistungen;1;);)+K4-1;)
Gruß
Rudi

AW: UDF funktionieren nicht
16.01.2013 19:34:27
Rolf
Hallo zusammen,
danke für die Hilfe und die Lektion -ich werde mir das (beides) anschauen
Gruß
Rolf

AW: UDF funktionieren nicht
16.01.2013 19:26:35
Daniel
Hi
mal grundsätzlich:
bitte immer die Variablen deklarieren und mit Option Explicit arbeiten, warum und wieso steht hier:
http://www.online-excel.de/excel/singsel_vba.php?f=4
ein Grund, warum du wie empfohlen vorzugsweise mit normalen Excelformeln arbeiten solltest, ist daß die UDFs nur dann neu berechnet werden, wenn sich ein Wert ändert, der als Parameteränderung übergeben wurde.
Eine Änderung im Zellbereich "Prüfung_Teilleistungen" führt nicht automatisch zu einer Neuberechnung, weil Excel gar nicht weiß, das es die Funktion neu berechnen muss.
in deinem Fall sollte sich die Aufgabe mit Hilfe der Funktionne INDEX und VERGLEICH lösen lassen.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige