Sub somma
doc= thiscomponent
Foglio = Doc.sheets.getByName("FOGLIO1")
somma=Foglio.getcellbyposition(2,7)
somma.FormulaR1C1local = "=somma(r[-(r-1)]c:r[-2]c2)"
end sub
inoltre è giusta la formula scritta in quel modo o va scritta:
Dimenticati il vba di excel e documentati sul basic di OO e LO, la sintassi R1C1 viene mantenuta dal vba per compatibilità con le versioni precedenti, inoltre non è facilmente comprensibile, quindi scrivi la formula come la scriveresti in una cella
Eh ma in questo modo devo far riferimento per forza a delle celle prestabilite! Come faccio a definire un tange variabile su OO?
Io non so a priori quante sono le celle da sommare! Come faccio?
Raoul Duke ha scritto:Salve
non so perchè ma quando provo a scrivere questo codice mi dice "errore di runtime BASIC. Proprietà o metodo non trovati: FormulaR1C1local"
Non è una notazione usata da Openoffice come già ti ha detto patel, tranne per le funzioni INDIRETTO e INDIRIZZO(come puoi leggere dalla guida)
Raoul Duke ha scritto:Eh ma in questo modo devo far riferimento per forza a delle celle prestabilite! Come faccio a definire un tange variabile su OO?
Io non so a priori quante sono le celle da sommare! Come faccio?
Nel tuo esempio non facevi riferimento a celle variabili
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Raoul Duke ha scritto:Eh ma in questo modo devo far riferimento per forza a delle celle prestabilite! Come faccio a definire un tange variabile su OO?
Io non so a priori quante sono le celle da sommare! Come faccio?
idee poco chiare, se utilizzi una formula lo sai quante sono le celle da sommare, altrimenti fai tutto da codice.
Sarebbe meglio spiegare il problema invece di proporre formule fantasiose.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
ho allegato il file.
come potete vedere, una volta avviata la macro, a seconda che si selezioni M o F varia il numero di celle da sommare...
come posso risolvere questo problema?