[Risolto] Ordinamento automatico

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
valterik63
Messaggi: 17
Iscritto il: martedì 17 luglio 2018, 21:06

[Risolto] Ordinamento automatico

Messaggio da valterik63 »

Buongiorno
Avrei un quesito da proporre
Ho realizzato uno scadenzario grazie anche al grandissimo aiuto dell'utente gioh66.
Volevo chiedere: se voglio ordinare - a seguito dell'aggiunta di altri dati - l'elenco delle scadenze in ordine decrescente (ossia tutte le righe rosse delle pratiche scadute in alto, le righe gialle in mezzo e le righe verdi in basso) per non dover ricorrere al comando "ordina" esisterebbe una macro da attivare cliccando una sorta di tastino posizionato in alto a sinistra (esempio: in corrispondenza della cella A1 che riporti la diciture "ordina")? Se si come dovrei fare (sono ignorante in materia di inserimento delle macro)?
Allego il file.
Ringrazio da adesso per l'aiuto.
Buon sabato a tutti
;)
Valter
Ultima modifica di valterik63 il sabato 11 agosto 2018, 19:35, modificato 2 volte in totale.
LibreOffice 6.0.5.2 (x64) su Windows 10
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggio da patel »

Ma tu riesci a fare l'ordinamento da Dati, Ordina ?
-------------------
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
valterik63
Messaggi: 17
Iscritto il: martedì 17 luglio 2018, 21:06

Re: Ordinamento automatico

Messaggio da valterik63 »

Ciao patel, riesco come mi venne consigliato, ossia seleziono la tabella escludendo le righe con le intestazioni, nel menù Dati>Ordina, in chiave di ordinamento seleziono la colonna B, lascio crescente e do ok.
Il mio sogno sarebbe di avere una sorta di comando, magari in corrispondenza della cella A1, riportante la scritta "ordina" con una macro che mi facesse la cosa in automatico, anche perché il file sarà accessibile anche ad altri.
Chiedo troppo? Grazie da ora per l'aiuto che potrei avere
Valter
LibreOffice 6.0.5.2 (x64) su Windows 10
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggio da patel »

prova questa macro

Codice: Seleziona tutto

Sub OrdinaDati
  dim I,lastCol as integer
  Dim oSheetDSC As Object, oDSCRange As Object
  Dim aSortFields(0) As New com.sun.star.util.SortField
  Dim aSortDesc(0) As New com.sun.star.beans.PropertyValue
  oSheet = ThisComponent.CurrentController.ActiveSheet 
  LastRow = Last_Row(oSheet, 2)
   lastCol = 2 ' col C
   ordCol = 1 ' colonna B
   oDSCRange = oSheet.getCellRangeByPosition(0,2, lastCol,LastRow)    ' range da ordinare
   ThisComponent.getCurrentController.select(oDSCRange)
   aSortFields(0).Field = ordCol

     aSortFields(0).SortAscending = FALSE  'in ordine decrescente
     aSortDesc(0).Name = "SortFields"
     aSortDesc(0).Value = aSortFields()      ' aSortFields(0)
     oDSCRange.Sort(aSortDesc())             ' aSortDesc(0)
End Sub         
Function Last_Row(oSheet As Object, Col As Long) As Long
  Dim c As Object, oRangePiena As Object, LastRow As Long
  c = oSheet.createCursor
  c.gotoEndOfUsedArea(false)
  LastRow = c.RangeAddress.EndRow
  oRangePiena = oSheet.getCellRangeByPosition(Col, 0, Col, LastRow).queryContentCells(1+2+4).RangeAddresses
  If Ubound(oRangePiena) < 0 Then
       Last_Row = - 1
  Else   
       Last_Row = oRangePiena(Ubound(oRangePiena)).EndRow
  End if
End Function
per imparare come inserire una macro http://professoressa.altervista.org/Dis ... re_OOo.pdf
-------------------
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
valterik63
Messaggi: 17
Iscritto il: martedì 17 luglio 2018, 21:06

Re: Ordinamento automatico

Messaggio da valterik63 »

Grazie patel..purtroppo non mi riesce
:-(
LibreOffice 6.0.5.2 (x64) su Windows 10
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggio da patel »

Ti devi documentare se vuoi imparare, mai dire non mi riesce, troppo generico. Ti allego il file
Allegati
Scadenziario_2.ods
(55.76 KiB) Scaricato 247 volte
-------------------
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
valterik63
Messaggi: 17
Iscritto il: martedì 17 luglio 2018, 21:06

Re: Ordinamento automatico

Messaggio da valterik63 »

EDIT: ho risolto, dovevo solo abilitare l'esecuzione delle macro (livello di sicurezza medio)
Grazie di cuore patel
Un saluto a tutti

Valter
LibreOffice 6.0.5.2 (x64) su Windows 10
Rispondi