Seite 1 von 1

Formulare berechnen nicht nach MakroEingabe

Verfasst: Mi 1. Nov 2017, 16:21
von Rubert
EDIT: Problem gelöst dank HeritzP. Man muss darauf achten die englischen Formularnamen zu nehmen, in meinem Fall LOOKUP anstatt Verweis.




Hallo Libre-Com,

ich such jetzt schon eine ganze Weile. Kurzum:

Ich füge per Makro in ein paar Zeilen gewisse Formeln ein. Hier ein Schnipsel:

Code: Alles auswählen

sub Start

Dim Doc as Object
Dim Sheet As Object
Dim Cell As Object

Doc = ThisComponent
Sheet = Doc.Sheets(1)

Cell = Sheet.getCellRangeByName("E9")
Cell.String= "Test1"

Cell = Sheet.getCellRangeByName("B1")
Cell.Formula = "=VERWEIS(E9;Tabelle1.B2:B22500;Tabelle1.A2:A22500)"
Cell = Sheet.getCellRangeByName("B2")
Cell.Formula = "=VERWEIS(E9;Tabelle1.B2:B22500;Tabelle1.B2:B22500)"
Der springende Punkt ist Cell.Formula . Wenn ich das Makro ausführe wird die Formel korrekt eingefügt ABER anstatt der Berechnung kommt die
Fehlermeldung #Name?
Wenn ich jetzt auf die Zelle klicke und die Eingabe mit ENTER einfach nur bestätige funktionierts. (siehe Bild "Test 1")

Auto-Berechnung ist an, Formel anzeigen ist aus.

Woran könnte das liegen?

Version: 5.4.2.2
Dateiformat: ods (orig xlsx)

Re: Formulare berechnen nicht nach MakroEingabe

Verfasst: Mi 1. Nov 2017, 16:32
von HeritzP
Hallo,

bei Dannhöfer steht folgendes.
Achtung: Wenn Calc-Funtionen verwendet werden, müssen diese in der englischen Version verwendet werden. Z.B. SUM für SUMME.
Statt formula die Methode formulalocal verwendet werden. Dann kann man die deutschen Funktionbezeichnungen nutzen.
Die Unterscheidung von Formula und Value ist besonders wichtig beim Auslesen von Werten. Man kann sich so die Formel anzeigen lassen und den Wert verarbeiten.
http://www.dannenhoefer.de/faqstarbasic ... l#Zweig175

Gruß HeritzP

Re: Formulare berechnen nicht nach MakroEingabe

Verfasst: Mi 1. Nov 2017, 16:39
von Rubert
VIELEN DANK!!

Heritz du bist ein Schatz :D

Bin leider nicht so ganz firm in Excel/Libre etc.

Mit LOOKUP hat es direkt funktioniert.

Nochmal Vielen Dank für die schnelle Hilfe!