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

Problem Namen Festlegen über Function / Formel

Problem Namen Festlegen über Function / Formel
04.10.2023 14:47:06
Jo Ku
Ich möchte einen Namen (inkl. Wert/Formel) im Namensmanager über eine Function (im Excelsheet) festlegen.
Leider funktioniert das bisher nur über eine Sub, soll aber über eine Formel im Arbeitsblatt laufen.
Hier nur das "abgespeckte" Problem:



Function AdvancedEvaluate(ByVal expression As String) As Variant
Const TEMPNAME As String = "TEMP_DEFINED_NAME"

Debug.Print TEMPNAME & " : " & expression
ActiveWorkbook.Names.Add Name:=TEMPNAME, RefersTo:=expression, Visible:=True
Debug.Print "- Angelegt!"

AdvancedEvaluate = Application.Evaluate("=" & TEMPNAME) ' AdvancedEvaluate =Excel.Application.Evaluate("=" & TEMPNAME)
Debug.Print "-> " & AdvancedEvaluate

' AdvancedEvaluate = 1
End Function

Sub testEval()
Debug.Print "------ Sub --------"
X = AdvancedEvaluate("=today()+1")
End Sub

Function TEste()
Debug.Print "------ Func -------"
TEste = AdvancedEvaluate("=today()-1")
End Function


Im Direktbereich bekomme ich, je nach Aufruf folgende Rückmeldungen:
Sub "testEval" per Start im Editor gestartet


------ Sub --------
TEMP_DEFINED_NAME : =today()+1
------ Func -------
TEMP_DEFINED_NAME : =today()-1
- Angelegt!
-> 45204


Formel "=TEste()" per Enter im XLS-Sheet gestartet


------ Func -------
TEMP_DEFINED_NAME : =today()-1


3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem Namen Festlegen über Function / Formel
04.10.2023 14:52:52
daniel
Hi
Microsoft hat festgelegt, dass VBA-Functions, die in Formeln in Excelzellen verwendet werden, dort nur das tun dürfen, was normale Excelfunktionen auch tun können, nämlich das Ergebnis der Formel in der Zelle anzeigen und sonst nichts.

Es soll zwar einen Trick geben, um diese Sperre zu um gehen (man muss die Funktion, die die verbotene Aktion ausführen soll, über Evaluate in einer anderen Funktion aufrufen), aber genaueres kann ich dir da auch nicht sage.
Gruß Daniel
AW: Problem Namen Festlegen über Function / Formel
04.10.2023 15:25:45
onur
Microsoft:
A user-defined function called by a formula in a worksheet cell cannot change the environment of Microsoft Excel. This means that such a function cannot do any of the following:

Insert, delete, or format cells on the spreadsheet.

Change another cell's value.

Move, rename, delete, or add sheets to a workbook.

Change any of the environment options, such as calculation mode or screen views.

Add names to a workbook.

Set properties or execute most methods.
Anzeige
AW: Problem Namen Festlegen über Function / Formel
04.10.2023 15:41:52
onur
Aber je nachdem, wofür genau du sowas brauchst, gibt es auch eine andere Lösung.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige