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

Rispondere a