Salve a tutti. Ho il seguente problema:
un foglio calc con i seguenti dati:
Col Col Col
A B C
Row
2 1 1 b
3 2 1 a
4 3 3 d
5 4 7 h
6 5 7 g
7 6 4 j
8 7 4 f
9 8 8 k
Vorrei una macro per metterli in ordine secondo la colonna B e poi C.
Il risultato dovrebbe essere il seguente:
Col Col Col
A B C
Row
2 2 1 a
3 1 1 b
4 3 3 d
5 7 4 f
6 6 4 j
7 5 7 g
8 4 7 h
9 8 8 k
Ho utilizzato (come usualmente faccio a lavoro su Excel...) il comando
Registra macro.
Ho selezionato le 3 colonne dalla riga 2 alla 9, quindi ho fatto clic
sul pulsante [AZ] che fa comparire l'apposita finestra di dialogo per
l'ordinamento. Ho selezionato le due chiavi di ordinamento e fatto clic
su OK. Poi ho terminato la registrazione. Inserito il nome della macro e
del modulo (lasciando quello di default).
La macro registrata è questa:
REM ***** BASIC *****
sub Ordinamento
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$2:$C$9"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:DataSort", "", 0, Array())
end sub
Noto qualcosa di strano rispetto al codice che normalmente ottengo
facendo le stesse operazioni in Excel ed infatti dopo aver aggiunto un
pulsante collegato alla suddetta macro l'operazione non funziona.
Ho provato ad eliminare il rem dall'ultima riga di codice prima di end
sub ed in questo modo eseguendo la macro compare la finestra di dialogo
per l'ordinamento e cliccando su OK sembra funzionare l'operazione, ma
io vorrei che la cosa avvenisse in modo trasparente semplicemente
premendo il pulsante che ho aggiunto.
Cosa mi sfugge?
—
Distinti Saluti
Andrea NARDI
--
Come cancellarsi: E-mail users+unsubscr...@it.libreoffice.org
Problemi? https://it.libreoffice.org/supporto/mailing-lists/come-cancellarsi/
Linee guida per postare + altro:
https://wiki.documentfoundation.org/Local_Mailing_Lists/it
Archivio della lista: https://listarchives.libreoffice.org/it/users/
Privacy Policy: https://www.documentfoundation.org/privacy