Strona 1 z 1

LO Basic - lista i opis funkcji predefiniowanych [SOLVED]

: pn gru 05, 2022 12:53 pm
autor: AdamTko
Piszę sobie kilka prostych funkcji obliczeniowych do użycia w arkuszu.

Do pewnego momentu wszystko szło dobrze, aż zapragnąłem na końcu obliczeń zaokrąglić wynik i kicha.
Round (wyrazenie, 0) wywala błąd, za to Int (wyrazenie) działa, ale obcina w dół.

Proszę o sugestię.

Punkt_Przec = Round ((b_c-b_o)/(a_o-a_c), 0)

'Błąd uruchomieniowy języka BASIC.
Nie zdefiniowano procedury lub funkcji'

Pomijając Round funkcja działa poprawnie, tylko muszę w Calcu sobie zaokrąglać wynik, a to mi burzy klarowność arkusza

Re: LO Basic - lista i opis funkcji predefiniowanych

: pn gru 05, 2022 1:37 pm
autor: Jermor
Round jest funkcją VBA, więc wymaga wpisania deklaracji Option VBASupport 1

Re: LO Basic - lista i opis funkcji predefiniowanych

: pn gru 05, 2022 1:55 pm
autor: Jermor
W przypadku korzystania tylko z LibreOffic Basic:

Kod: Zaznacz cały

Function EF(a) As Double
    EF= Format(a, "0.00") 'Tutaj musisz ustawić format wyjściowy
End Function
Co prawda FORMAT zwraca wynik w postaci ciągu tekstowego, ale typ funkcji DOUBLE przekształci ten ciąg na liczbę.

Re: LO Basic - lista i opis funkcji predefiniowanych

: pn gru 05, 2022 2:38 pm
autor: AdamTko
Obejście za pomocą Format i deklaracji funkcji zadziałało jak należy. Dziękuję.

Ale proszę jeszcze o podpowiedź, gdzie w razie "w" wpisać deklarację "Option VBASupport 1". Wewnątrz funkcji? Na początku modułu?

No i pytanie o listę funkcji, zarówno podstawowych, jak i ew. tych VBA.

Re: LO Basic - lista i opis funkcji predefiniowanych

: pn gru 05, 2022 5:00 pm
autor: Jermor
Wszystkie OPTION wpisuje na samym początku modułu, poza programami. Analogicznie jak np. stałą CONST lub deklaracje zmiennych PRIVATE czy GLOBAL.
Lista funkcji. Najlepiej wejść do pomocy. Po rozwinięciu Spisu treści, dla Basic-a (czyli "Makra i skrypty") znaleźć alfabetyczny spis funkcji. Przy funkcjach VBA jest adnotacja, że to one.
O programowaniu napisałem nieco w tym miejscu: https://yestok.pl/html/y_.php?nrp=33