2009/1/8 Fernando ff77 <[email protected]> > Salve a tutti, > premessa, non so niente di macro. > > vorrei creare un tasto o una combinazione di tasti per modificare il valore > di una cella... > > es: > cella selezionata = 123,456 > > devo moltiplicare per 1.1 e arrotondare al primo decimale > > risultato=135,80 > > come posso automatizzare ? > > ps: le celle non sono contigue.. รจ per quello che pensavo ad una macro e > non > ad una formula in una tabella a parte! > > > grazie >
Ciao, Non sapendo niente di macro non e' la cosa piu' banale da fare. La macro che ti serve e' questa: Sub MultiplyAndRoundActiveCellValue() Dim dFactor, dResult As Double Dim oSel dFactor = 1.1 oSel = ThisComponent.getCurrentController().getSelection() dResult = Format(oSel.getValue()*dFactor, "0.0" ) oSel.setValue(dResult) End Sub Copiala e incollala nell'editor di macro Strumenti > Macro > Organizza Macro > OpenOffice.org Basic Una volta creata la macro la puoi facilmente associare ad una combinazione di tasti tramite Strumenti > Personalizza, scheda tastiera. Nota che questa macro - opera sulla cella attiva (bordo ingrossato) - non esegue nessun controllo, se hai delle celle selezionate si incasina e potenzialmente puo' provocare la perdita di dati - il valore della cella e' cambiato "irreparabilmente (non puoi con control + Z ripristinare il valore originale una volta che la macro e' stata eseguita). - Quando ancora lavoravo con le macro non esisteva la funzione Round, percio' ho usato la funzione Format, ma puo' darsi che la funzione round sia stata aggiunta e sarebbe meglio usare quella (credo...). Ciao, Michele
