Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
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

benannter Bereich in Funktionsaufruf

benannter Bereich in Funktionsaufruf
15.10.2019 14:26:46
kaba
Hallo,
ich habe in einem Tabellenblatt einen 1-spaltigen Bereich mit einem Namen verknüpft(MeinName). Wenn ich eine Standardfunktion (z.B. sin (MeinName)) verwende, wird korrekt der Sinus der entsprechenden Zeile ausgegeben.
Wenn ich jedoch eine selbstgeschriebene VBA-Funktion (MeinTest)aufrufen möchte (also =MeinTest(MeinName) ), wird ein #Wert Fehler ausgegeben. Dieselbe Funktion mit einem festen Wert oder einem anderen Zellinhalt funktioniert natürlich.
Unterscheidet sich der Namensraum von Standardfunktionen und VBA-Funktionen?
kaba

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: benannter Bereich in Funktionsaufruf
15.10.2019 15:31:49
ChrisL
Hi
Funktioniert bei mir ohne Probleme.
=MeinTest(MeinName)
Function MeinTest(rng As Range) As Integer
MeinTest = WorksheetFunction.Sum(rng)
End Function
cu
Chris
AW: benannter Bereich in Funktionsaufruf
15.10.2019 18:40:15
Luschi
Hallo Kaba,
oder so:
Aufruf in der Zelle: =MeinTest("MeinName")

Function MeinTest(xBereich As String) As Double
MeinTest = WorksheetFunction.Sum(Range(xBereich))
End Function
Gruß von Luschi
aus klein-Paris
AW: benannter Bereich in Funktionsaufruf
15.10.2019 18:52:20
Daniel
Hi
nicht der Namensraum macht den unterschied, sondern der Aufwand in der Programmierung.
SIN erwartet benötigt ja normalerweise nur einen einzigen Zahlenwert als Input.
wenn du jetzt aber nicht nur einen einzigen Wert als Parameter übergibst sondern einen ganzen Zellbereich, dann wird in einer Excelfunktion wahrscheinlich folgendes ablaufen:
1. die Funktion erkennt, dass kein Einzelwert sondern ein Zellbereich übergeben wurde
2. Es wird verglichen, ob es eine Überschneidung bezüglich der Zeile in welcher die Formel steht und dem Zellbereich gibt und wenn ja, wird der Einzelwert aus der Zelle in der gleichen Zeile verwendet und somit steht wieder ein Einzelwert für die weitere Berechnung zur verfügung.
diesen Ablauf müsstest du dann in deiner VBA-Funktion nachprogrammieren, wenn du ein ähnliches Ergebnis haben willst.
Gruß Daniel
Anzeige
AW: benannter Bereich in Funktionsaufruf
16.10.2019 11:25:50
kaba
Hallo,
klingt plausibel, vielen Dank an alle. Da werde ich wohl etwas mehr Code spendieren müssen. Auf den benannten Bereich zu verzichten (wäre am schnellsten), ist bei Code, den man wiederverwenden möchte, nicht wirklich attraktiv.
Gruß Burkhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige