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:

Code: Alles auswählen

if Preisneu = "=NEUNEU3(A1)" then


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