Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1872to1876
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
xlFunctionWizard gibt #Wert zurück
03.03.2022 17:43:40
Andreas
Hallo Excel-Forum,
ich habe gerade folgendes Problem:
Ich habe mir Excel-extern eine DLL zusammengebaut. In Excel gibt es dann eine UDF, die eine Klasse aus der DLL instanziert und bestimmte Berechnungen auf Grundlage der DLL durchführt. Die UDF erwartet die Eingabe von z.B. 2 Parametern. Beispiel =MeineUDF(2021;48). Soweit so gut.
Der zweite Parameter (also im Beispiel die 48) lässt nur bestimmte Werte zu. Wird ein unzulässiger Wert eingegeben (4 ist z.B. unzulässig), wird über die DLL eine MessageBox angezeigt, dass der Wert unzulässig ist. Auch so weit so gut....
Starte ich jetzt den FunktionWizard über "Funktionen" - "Funktion einfügen" und gebe dann im Eingabefeld für den zweiten Parameter 48 ein, kommt nach der Eingabe der ersten Zahl die Fehlermeldung (weil 4 ja unzulässig ist), ich klicke dann die Fehlermeldung weg und kann noch die 8 eingeben. Dann bin ich wieder bei 48 und die Zahl ist zulässig. Im FunctionWizard auf OK geklickt und das Ergebnis steht wie gewünscht in der Zelle. Alles gut.
Jetzt habe ich mir ein eigenes Ribbon gebaut und starte über einen Button den FunctionWizard. Damit meine UDF "MeineUDF" gleich angezeigt wird, befülle ich die Zelle zunächst mit der Formel ActiveCell.Formula="MeineUDF()" und dann kommt Application.Dialogs.Item(xlDialogFuctionWizard).Show
Funktioniert soweit wie zuvor, nur wenn ich ok klicke und der FunctionWizard sich wieder schließt, steht in der Zelle #Wert, obwohl in der Formelleiste oben das richtige drin steht und die Parameter korrekt übernommen wurden. Drücke ich jetzt nochmal F2 und Enter (Zelle aktualisieren), ist auch das Ergebnis korrekt.
Wie kann ich das lösen, dass gleich das richtige Ergebnis angezeigt wird. #Wert scheint noch der Rückgabewert aus der zuvor eingetragenen UDF ohne Parameter zu sien.
Versucht habe ich bereits ActiveCell.Calculate
Vielen Dank

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

Betreff
Datum
Anwender
Anzeige
AW: xlFunctionWizard gibt #Wert zurück
04.03.2022 14:29:10
onur
Falls du dich wunderst, warum Niemand bis jetzt geantwortet hat:
Abgesehen davon, dass du nicht mal eine Datei gepostet hast, liegt es BEI MIR jedenfalls daran, dass ich mir nie anmaßen würde, einem EXCEL- und VBA-Profi helfen zu wollen, da ich mich nur als "Excel-gut / VBA-gut" bewerten würde. Ich vermute mal, dass es einigen anderen ebenso geht.
AW: xlFunctionWizard gibt #Wert zurück
04.03.2022 14:37:01
Andreas
Hallo,
vielen Dank für den genialen Hinweis.... bislang hatte ich trotzdem meistens eine Antwort und Hilfe bekommen.
Eine Datei kann ich hier aufgrund der Komplexität nicht posten, da ja eine DLL mit benötigt wird und die müsste auch noch aufgrund von COM-Komponenten erste registriert werden. Die Arbeit mach sich ja erst recht niemand ...mal abgesehen von firmeninternen Gedankengut.
Mir fehlt hier im Forum eine Möglichkeit, Code-Schnippsel formatiert einzufügen oder habe ich das nur noch nicht gefunden, dann könnte ich wenigstens ein bisschen was zusammenschreiben und posten ...
vG
Anzeige
AW: xlFunctionWizard gibt #Wert zurück
04.03.2022 14:42:36
GerdL
Du kannst Makros nach Drücken des Button Zitat zwischen die Tags reinkopieren.
Gruß Gerd

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige