Seite 1 von 1
[Gelöst]Zelle auf Formel prüfen
Verfasst: Do, 02.09.2021 14:47
von Jörg
Hallo Fachleute,
1. mein Plan ist es, eine Zelle (I18) per if-Anweisung auf eine bestimmte Formel zu prüfen.
Die Formel lautet : =neuein3 (Name)
2. Wie müßte die Variable deklariert werden?
Code: Alles auswählen
oSheet = thisComponent.Sheets(2)
Preisneu = oSheet.getCellRangeByName("I18").????
Vielen Dank !
Re: Zelle auf Formel prüfen
Verfasst: Do, 02.09.2021 15:54
von Karolus
Am besten holst du dir erstmal
'Mri-1.3.4.oxt' von hier und installierst das.
Hinterher selektierst du die gewünschte Zelle und gehst zu →Extras→Add-ons→Mri<Selection
In dem sich öffnenden Dialog scrollst du soweit runter bist du auf den Begriff
FormulaLocal stösst…
Wenn du das dann öfter benutzt bist bald selber ein "Fachleut"
Re: Zelle auf Formel prüfen
Verfasst: Do, 02.09.2021 17:11
von Jörg
Hallo Karolus,
danke für den Tip. Habe Mri installiert.
Bin jetzt erstmal soweit.
Code: Alles auswählen
------
Dim Preisneu as string
Preisneu = oSheet.getCellRangeByName("I18").string
if Preisneu = "=neuein3" then
msgbox ....
end if
---------
Das Makro läuft jedoch (ohne Fehlermeldung) durch.
Die msgbox startet nicht obwohl die Formel in "I18" steht.
Wo ist mein Fehler ?
Re: Zelle auf Formel prüfen
Verfasst: Do, 02.09.2021 18:44
von Stephan
Wie Karolus bereits schrieb, "FormulaLocal", also:
Code: Alles auswählen
Dim Preisneu as string
oSheet = thisComponent.Sheets(2)
Preisneu = oSheet.getCellRangeByName("I18").FormulaLocal
if Preisneu = "=neuein3" then
msgbox "...."
end if
Du solltest aber nötigenfalls einmalig prüfen wie die Formel wirklich lautet, denn wenn Du in die Zelle die Formel "=neuein3(A1)" eingegeben hast und die Funktion neuneu3 existiert macht Calc aus dem Eintrag automatisch "=NEUNEU3(A1)" und das musst Du auch abfragen:
GRuß
Stephan
Re: Zelle auf Formel prüfen
Verfasst: Do, 02.09.2021 19:36
von Jörg
Hallo Stephan,
danke Dir für die Korrektur. So funktioniert es.
Die Formel ist
Code: Alles auswählen
=WENN(ISTNV(SVERWEIS($E$12;neuEinzel;VERGLEICH($F$18;neuPositEinzel;0);0));"";(SVERWEIS($E$12;neuEinzel;VERGLEICH($F$18;neuPositEinzel;0);0)))
Dürfte also keine Probleme geben.
Nochmals vielen Dank.
P.s.
Ist inzwischen das Problem mit den Hyperlinks in der Version 4.1.10 behoben ? Ich hatte ja auf deinen Rat hin ein Upgrade auf 4.1.9 gemacht.
https://de.openoffice.info/viewtopic.php?f=3&t=75482
Re: [Gelöst]Zelle auf Formel prüfen
Verfasst: Do, 02.09.2021 23:54
von Karolus
Hallo
Apropos Upgrade: mit
Libreoffice könntest du zb. deine Formel von oben abkürzen auf
Code: Alles auswählen
=WENNNV(SVERWEIS($E$12;neuEinzel;VERGLEICH($F$18;neuPositEinzel;0);0);"")
Re: [Gelöst]Zelle auf Formel prüfen
Verfasst: Sa, 04.09.2021 09:44
von Stephan
Apropos Upgrade:
LibreOffice ist OpenOffice weit voraus wenn es um Tabellenfunktions-Kompatibilität zu MS Excel geht, aber Kompatibilität scheint mir auch eine Überlegung wert.
Wenn LO glänzen wollte würde man nach Wegen suchen das 'Tabellenfunktionsrennen' mit MS Excel entbehrlich zu machen, z.B. indem man importierte, neuere Excel-Funktionen in ältere Tabellenfunktionen 'übersetzt'.
Was MS Excel seit Jahren tut ist jedenfalls nichts anderes als vergleichsweise den Duden durch ein "Satzbuch" ersetzen zu wollen, nur um den Leuten die 'Unbequemlichkeit' zu nehmen aus einzelnen Wörtern eigene Sätze bilden zu müssen.
Gruß
Stephan