Pannello di Controllo Moderatore ]

[Risolto] Ordinamento automatico

Discussioni sull'applicazione per i fogli di calcolo

[Risolto] Ordinamento automatico

Messaggioda valterik63 » sabato 11 agosto 2018, 10:51

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
Allegati
Scadenziario_2.ods
(53.93 KiB) Scaricato 2 volte
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
valterik63
 
Messaggi: 12
Iscritto il: martedì 17 luglio 2018, 21:06

Re: Ordinamento automatico

Messaggioda patel » sabato 11 agosto 2018, 11:54

Ma tu riesci a fare l'ordinamento da Dati, Ordina ?
-------------------
OpenOffice 4.1 e Libre Office 6 su Windows 10
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
 
Messaggi: 2860
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggioda valterik63 » sabato 11 agosto 2018, 13:07

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
valterik63
 
Messaggi: 12
Iscritto il: martedì 17 luglio 2018, 21:06

Re: Ordinamento automatico

Messaggioda patel » sabato 11 agosto 2018, 13:57

prova questa macro
Codice: Seleziona tutto   Espandi visualeStringi visuale
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
-------------------
OpenOffice 4.1 e Libre Office 6 su Windows 10
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
 
Messaggi: 2860
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggioda valterik63 » sabato 11 agosto 2018, 18:14

Grazie patel..purtroppo non mi riesce
:-(
LibreOffice 6.0.5.2 (x64) su Windows 10
valterik63
 
Messaggi: 12
Iscritto il: martedì 17 luglio 2018, 21:06

Re: Ordinamento automatico

Messaggioda patel » sabato 11 agosto 2018, 18:25

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 3 volte
-------------------
OpenOffice 4.1 e Libre Office 6 su Windows 10
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
 
Messaggi: 2860
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggioda valterik63 » sabato 11 agosto 2018, 18:33

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
valterik63
 
Messaggi: 12
Iscritto il: martedì 17 luglio 2018, 21:06


Torna a Calc

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti