Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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
Formelergebnis in Textbox anzeigen
29.01.2021 14:50:57
reiner
Hallo Leute,
mit nachfolgender Formel erhalte ich am 28.01.2021 als Ergebnis den Buchstaben"M" (bedeutet VOLLMOND); mit der Schriftart Moonphases wird daraus das aus Übersichtskalendern bekannte Symbol für den Vollmond.
range("B46").FormulaLocal = "=WENN(ISTNV(SVERWEIS(" & adrZelleM & ";Mondphasen;2;FALSCH));"""";(SVERWEIS(" & adrZelleM & ";Mondphasen;2;FALSCH)))"
-----------------------------------------------------------------------------------------------------------
Nun will ich die gleiche Berechnungsformel verwenden und das Ergebnis "M" (mit der Schriftart Moonphases) in einer Textbox auf UF anzeigen lassen. z.B. so:
frmTag_Heute.txtMondphase "=WENN(ISTNV(SVERWEIS(" & adrZelleM & ";Mondphasen;2;FALSCH));"""";(SVERWEIS(" & adrZelleM & ";Mondphasen;2;FALSCH)))"
mit:
frmTag_Heute.txtMondphase.FormulaLocal
erhalte ich jedoch eine Fehlermeldung. Gibt es vielleicht einen anderen Lösungsweg um in der Textbox das Ergebnis anzuzeigen oder bleibt nur die (funktionierende) Möglichkeit, das Ergebnis aus: "range("B46").FormulaLocal" in die Textbox einzulesen?
Ich habe noch einen Ansatz im Netz gefunden, der beginnt mit: frmTag_Heute.txtMondphase.Value = Application.WorksheetFunction.VLookup( _.......
die Variable "adrZelleM" enthält das serielle Tagesdatum; "Mondphasen" definiert einen Bereich mit dem jeweiligen Datum und dem Mondsymbol z.B. "M"
mfg
reiner

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formelergebnis in Textbox anzeigen
29.01.2021 15:14:37
onur
frmTag_Heute.txtMondphase=range("B46")
AW: Formelergebnis in Textbox anzeigen
29.01.2021 15:27:22
Daniel
Hi
wenn du mit der Formel in B46 leben kannst, würde ich die Formel dort belassen und für die Anzeige eine Listbox verwenden, du mit der Zelle vernküpfst, in dem du die Adresse der Zelle in die Listbox-Eigenschaft RowSource einträgst.
die Listbox hat zum Anzeigen von Zellwerten den Vorteil, dass sie ReadOnly ist, dh die angezeigten Werte und auch die Zellformel können nicht aus versehen überschrieben werden.
willst du die Formel in der Zelle generell vermeiden, dann geht das auch mit Hilfe der Funktion EVALUATE:
frmTag_Heute.txtMondphase = Evaluate("...FormelText…")
allerdings muss der Formeltext in englisch mit A1-Zellbezügen geschrieben sein, dh
englische Funktionsnamen (IF, VLOOKUP,...) und dem Komma als Parametertrennzeichen.
(also so wie wenn du Range("B46").Formula = "..." programmieren würdest)
um den Text hierfür korrekt zu ermitteln, kannst du folgendes tun:
wenn die Formel funktionsfähig in der Zelle steht, selektiere sie und gib im Direktfenster den Befehl:
?Selection.Formula
ein. Dann wird dir der englische Formeltext angezeigt, den du nach Dopplung der Anführungszeichen dann direkt in den Code übernehmen kannst (naja und ggf die Variablen noch einbinden)
Gruß Daniel
Anzeige
AW: Formelergebnis in Textbox anzeigen
29.01.2021 16:10:21
reiner
hallo Daniel,
die Formel wurde -wie von dir beschrieben- im Direktfenster übersetzt, liefert aber nicht das gleiche Ergebnis wie mit der Zellenberechnung. Wenn ich die Anführungszeichen doppele erhalte ich eine Fehlermeldung "...beim Kompilieren"
range("S1").FormulaLocal = "=WENN(ISTNV(SVERWEIS(" & adrZelleM & ";Mondphasen1;3;FALSCH));"""";(SVERWEIS(" & adrZelleM & ";Mondphasen1;3;FALSCH)))"
frmTag_Heute.txtMondphase.Value = "=IF(ISNA(VLOOKUP(" & adrZelleM & ",Mondphasen1,3,FALSE)),"""",(VLOOKUP(" & adrZelleM & ",Mondphasen1,3,FALSE)))"
siehst du in der übersetzten Version einen Fehler?
Anzeige
AW: Formelergebnis in Textbox anzeigen
29.01.2021 16:29:41
Daniel
dein Fehler ist, dass du meinen Beitrag anscheinend nicht vollständig gelesen bzw oder wichtige Stellen übersehen hast (obwohl ich sie extra hervorgehoben habe).
Lies bitte meine Antwort nochmal aufmerksam, vielleicht fällt dir dein Fehler auf.
die Anführungszeichen sind schon korrekt.
Gruß Daniel
AW: Formelergebnis in Textbox anzeigen
29.01.2021 17:24:25
onur
ICH habe dir doch auch geantwortet - hast du das nicht mal gelesen?
AW: Formelergebnis in Textbox anzeigen
29.01.2021 17:34:57
Daniel
Ist das nicht die Lösung, die er schon kennt aber vermeiden will?
Zumindest interpretiere ich den vorletzten Absatz der Frage so.
Gruß Daniel
AW: Formelergebnis in Textbox anzeigen
29.01.2021 17:39:29
onur
Meinst du etwa:" bleibt nur die (funktionierende) Möglichkeit, das Ergebnis aus Range("B46").FormulaLocal" in die Textbox einzulesen? Glaube ich nicht - er will ja das ERGEBNIS der Formel und nicht den Formeltext, sonst nix - soweit ich verstanden habe.
Anzeige
AW: Formelergebnis in Textbox anzeigen
29.01.2021 17:48:04
Daniel
Ja meinte ich.
Da er dazuschreibt, dass es funktioniert, kann er es nur so machen, wie du ihm nochmals vorgeschlagen hast.
AW: Formelergebnis in Textbox anzeigen
29.01.2021 17:53:15
onur
Aber er kann ja eigentlich nicht das Ergebnis aus "Range("B46").FormulaLocal" meinen, denn das kann ja nicht funktionert haben, - das ist ja die Formel selbst, und was soll er denn mit dem Formeltext in einer Textbox anfangen (dazu auch noch mit seiner Schriftart formattiert)?
AW: Formelergebnis in Textbox anzeigen
29.01.2021 18:15:36
Daniel
Weil das unsinnig ist, gehe ich davon aus dass er die von dir vorgeschlagene Lösung bereits verwendet hat.
Mit .Formula die Formel in die Zelle schreiben und davon das Ergebnis in die Textbox über nehmen (also das Ergebnis aus der Zelle).
Vielleicht ein bisschen unglücklich formuliert.
Anzeige
hallo onur und Daniel
29.01.2021 18:30:04
reiner
ich war einige Zeit nicht online wegen eines anderen Termins.
ich habe, wie schon in der Anfrage formuliert, und auch von onur vorgeschlagen, diese beschriebene Variante eingesetzt weil sie funktioniert.
Der Vorschlag von Daniel erschien mir allerdings interessanter, aber ich sehe einfach nicht an welcher Stelle ich ein Zeichen zu viel oder zu wenig eingesetzt habe und deshalb präferiere ich die ursprünglich bereits in der Anfrage von mir beschriebene nicht ganz so elegante Lösung.
danke und ein schönes Wochenende
reiner
AW: hallo onur und Daniel
29.01.2021 18:42:06
Daniel
du hast das mit dem EVALUATE dezent übersehen.
AW: Formelergebnis in Textbox anzeigen
29.01.2021 19:03:06
Daniel
Hi
wenn du diese Formel in VBA umsetzen willst, dann geht das nicht 1:1 zur Excelformel.
wenn dann so:
dim Erg as variant
Erg = Application.Vlookup(Range(adrZelleM), Range("Mondphasen"), 2, false)
if Vartype(Erg) = vbError then
frmTag_Heute.txtMondphase = ""
else
frmTag_Heute.txtMondphase = Erg
end if 
Gruß Daniel
Anzeige
AW: Formelergebnis in Textbox anzeigen
29.01.2021 22:59:45
reiner
Hi,
..du hast das mit dem EVALUATE dezent übersehen
NEIN, das habe ich nicht übersehen, es kam zwar keine Fehlermeldung, hat aber auch nicht funktioniert
frmTag_Heute.txtMondphase = Evaluate("=IF(ISNA(VLOOKUP(" & adrZelleM & ",Mondphasen,2,FALSE)),"""",(VLOOKUP(" & adrZelleM & ",Mondphasen,2,FALSE)))")
lass gut sein, diese Anfrage hat nichts gebracht außer schlechter Stimmung
AW: Formelergebnis in Textbox anzeigen
29.01.2021 23:35:51
Daniel
doch hast du.
ansonsten hättest du hier https://www.herber.de/forum/archiv/1808to1812/t1809295.htm#1809326
schon erwähnen müssen, dass du "Evaluate" ausprobiert hast.
hast du aber nicht, du hast es explizt weggelassen.
versuche bitte nicht, die Menschen die ihre Zeit opfern um dir zu helfen zu verarschen.
entweder hast du im genannten Beitrag gelogen oder du lügst jetzt.
Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige