online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon schnallgonz vom 06.08.2020, 17:38 Options

benutzerdefinierte Funktion läuft immer mit

salvete
ich habe eine funktionierende benutzerdefinierte Funktion gebastelt
(letztlich nur ein unterstützter SVERWEIS), so weit, so gut
siehe: http://www.supportnet.de/threads/2134720
Dazu habe ich einen keinen Dialog erstellt, der diese Funktion verwendet.

Problem:
steht diese Funktion bereits einmal in einem Blatt und ich füge sie mittels Dialogmakro erneut ein, springt der Code in die Funktion. Und zwar genau an der Stelle, an der das Makro zum erstenmal einen Wert in die Tabelle schreibt.

Ist nicht soo tragisch, bei z.B. der 100sten Verwendung dieser Funktion
in einer Mappe fällt es aber langsam auf.

Bringt die Funktion an irgendeiner Stelle aber #WERT!, weil ein Wert nicht beigestellt werden kann, springen alle in der Mappe gesetzten eigenen Funktionen auch auf #WERT!
Mit F2-ENTER kann man es wieder geradeziehen, aber es soll natürlich funtkionieren, ohne immer nachzuarbeiten.

Gebe ich die Funktion manuell ein oder durch autoausfüllen, ist alles in Ordnung.

Ich verwende Excel97.
Oder muss man wieder mit Select oder Activate nachhelfen?
Hat jemand eine Idee?

mfg
schnallgonz


Antwort schreiben

Antwort 1 von schnallgonz vom 06.08.2020, 17:41 Options

Zitat:
Dazu habe ich einen keinen Dialog erstellt

ähh es muss natürlich "einen Dialog erstellt" heißen,
das Problem macht mich fertig....

und der Code stammt von rainberg, wie man obigem Link entnehmen kann

gruß
schnallgonz

Antwort 2 von schnallgonz vom 06.08.2020, 17:41 Options

genau genommen
"einen kleinen Dialog"

Antwort 3 von schnallgonz vom 06.08.2020, 19:31 Options

Salvete,
ich führ erstmal weiter Selbstgespräche.
Ein kleines "on error resume next" in der Funktion wirkt manchmal Wunder.
Es wird anstatt #WERT! eine "0" ausgegeben und die Funktion wird nicht ausgebremst.

Trotzdem verstehe ich nicht, warum die manuelle Eingabe der Funktion immer funzt und die makrogesteuerte nicht bei #WERT!.

Mit
Application.Volatile(False)
habe ich es auch schon probiert, egal,
sobald das Makro den ersten Zelleneintrag vornimmt, rauscht die Funktion entsprechend der Anzahl der Zellen mit dieser Funktion durch.

Ich hoffe, ich habe das Problem nachvollziehbar geschildert, mir raucht der Schädel.
gruß
schnallgonz

Antwort 4 von meinTipp vom 06.08.2020, 19:36 Options

Hallo Unbekannte(r),
ohne vollständigen Code ist hier wohl nichts los!

Gruss Rolf

Antwort 5 von schnallgonz vom 06.08.2020, 20:40 Options

Salve,
die Funktion steht im obigen Link
und nach dem Dialog geht es in etwa so weiter:
ActiveCell.Offset(0, -1).Value = Vari3
ActiveCell.FormulaLocal = "=FixUndFoxi (" & _
                            Vari1.Address(RowAbsolute:=False, ColumnAbsolute:=False) & "; " _
                            & Vari2.Address(RowAbsolute:=False, ColumnAbsolute:=False) & ")"

Sobald der Code einen Wert schreibt (wie oben also den Wert aus vari3)
springt er in die Funktion und führt so oft aus, wie Funktionen in der Tabelle stehen.

Wie gesagt, mit "on error..." läuft es durch, Frage ob man die
unnötige Funktionsschleife nicht abklemmen kann.
Hier
http://www.herber.de/forum/archiv/200to204/t201142.htm
ich ein paar Infos gefunden, könnte doch an Excel97 liegen,
obwohl meine Funktion nicht parameterlos ist.

gruß
schnallgonz

Ähnliche Themen

benutzerdefinierte Fußzeile
m-o-m  03.05.2007 - 78 Hits - 2 Antworten

Benutzerdefinierte Zahlen
kvtv  16.08.2007 - 51 Hits - 4 Antworten

Benutzerdefinierte Formatierung von Zelle leer
dvdh  02.12.2007 - 95 Hits - 1 Antwort

Abfrage benutzerdefinierte Zellenformatierung
Testerle  13.05.2008 - 62 Hits - 12 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 09:21:55 2026