Istruzione If Messaggio "Argomento non è opzionale"

Ciao a tutti!
Come devo interpretare il messaggio in oggetto
che mi restituisce a volte la funzione if?

Grazie

ciao, diciamo che così facciamo fatica a darti una dritta :slight_smile:
Qualche dettaglio in più? un esempio del codice basic che usi e dove ricevi l’errore?
Ti consiglio comunque di dare un’occhiata alla documentazione del linguaggio Basic:

Inoltre dai un’occhiata qui:

Su questo sito trovi un’opera mastodontica, ma di vitale importanza se vuoi programmare in Basic con LibreOffice: OpenOffice.org Macros Explained. C’è si ain versione PDF che in PDT, quest’ultima ti permette di testare i vari esempi presenti.

Antonio

Ciao Antonio, mi si è ripresentato l’errore
in questo codice…

function TorqueSpeed(V As Double, Ke As Double, Kt As Double, Ipk As Double, R As Double, L As Double, omega_mec As Double, omega_elett As Double)

if ( ( (V - Ke*omega_mec) / (sqr(3)sqr( R^2 + L omega_elett ))) Kt > IpkKt) then <— qui mi ha dato l’errore

	TorqueSpeed = Tpk

elseif (((V - Ke * omega_mec) / (sqr(3) * sqr ( R^2 + L* omega_elett ))) * Kt < Ipk*Kt) then

	if (((V - Ke * omega_mec) / (sqr(3) * sqr ( R^2 + L* omega_elett ))) * Kt < 0) then

		TorqueSpeed = 0
	
	elseif (((V - Ke * omega_mec) / (sqr(3) * sqr ( R^2 + L* omega_elett ))) * Kt > 0 ) then
	
		if (((V - Ke * omega_mec) / (sqr(3) * sqr ( R^2 + L* omega_elett ))) * Kt > Ipk * Kt ) then

			TorqueSpeed = Tpk

		elseif (((V - Ke * omega_mec) / (sqr(3) * sqr ( R^2 + L* omega_elett ))) * Kt < Ipk * Kt) then 

			TorqueSpeed = ((V - Ke * omega_mec) / (sqr(3) * sqr ( R^2 + L* omega_elett ))) * Kt

		endif

	end if	

end if
end function

Ciao! Non so se hai risolto nel frattempo, ma c’è un errore (credo dovuto al copia/incolla) nella prima riga: sqr(3)sqr. Immagino manchi l’operatore :slight_smile:
Sicuramente il codice originale della macro è corretto :wink:

Per il resto l’unica cosa che mi viene da dirti è di spostare l’ultima parentesi prima del Then e metterla prima del >.
Fammi sapere.

ciao Antonio grazie per la risposta
è possibile: nel riscriverla,
l’errore non è più venuto.

Buona giornata

Grazie