Fai la tua domanda
0

libre calc - come ordinare più fogli di lavoro

chiesto il 2019-10-23 17:42:16 +0100

Immagine gravatar per SARA

Ciao a tutti, ho un file libre calc che contiene svariati fogli di lavoro (tutti nominati) che vorrei ordinare in ordine alfabetico. E' possibile? Non riesco a trovare una funzione che me lo faccia. GRAZIE!

modifica retag flag offensive close merge delete

Commenti

Ciao, mi sa che con le funzioni non puoi farlo, ti serve una macro. Prova a vedere qui https://ask.libreoffice.org/en/questi...

Immagine gravatar per gioh66 gioh66 ( 2019-10-23 18:34:14 +0100 )modifica

Penso anche io!

Immagine gravatar per figioteo figioteo ( 2019-10-24 08:18:45 +0100 )modifica

Grazie....ho provato ad inserire quelle macro, ma niente, mi dice errore di sintassi, non sono per niente pratica, perciò non capisco il perchè :( Avete macro da suggerirmi?

Immagine gravatar per SARA SARA ( 2019-10-24 08:43:34 +0100 )modifica

2 Answers

2

risposto il 2019-10-24 10:50:42 +0100

updated 2019-10-24 10:51:50 +0100

La macro segnalata funziona perfettamente, basta aggiungere la "testa" e la "coda":

Se la mia riposta ti ha aiutato, votala con ✔ (qui a sinistra)

Sub Main
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then
   GlobalScope.BasicLibraries.LoadLibrary("Tools")
End If
Sheets = ThisComponent.Sheets
Names = Sheets.ElementNames
SortedList = BubbleSortList(Names) 'BubbleSortList is a macro in the Tools Library'
for i = 0 to UBound(SortedList)
   Sheets.MoveByName(SortedList(i), i)
next i
End Sub
modifica flag offensive delete link more

Commenti

GRAZIEEEEEEEEEEE

Mi hai svoltato la giornata :)

Immagine gravatar per SARA SARA ( 2019-10-24 12:35:03 +0100 )modifica
0

risposto il 2019-10-28 01:43:43 +0100

updated 2019-10-28 01:48:24 +0100

@SARA, This in VBA, has option Ascending or Descending.

Rem Attribute VBA_ModuleType=VBADocumentModule
Option VBASupport 1
Option Explicit
'================================================|
Sub OrdenarPlanilhasPelosNomes()
' Código para ordenação das planilhas de uma pasta
' de trabalho com base nos seus nomes
'================================================|
Dim k           As Integer
Dim i           As Integer
Dim Tipo        As Integer
Dim Mensagem    As String
'Display message box so user can select desired sort type
Mensagem = "Press Yes for ascending sort" & vbLf & _
"or not for descending order"
Tipo = MsgBox(Mensagem, vbYesNo + vbApplicationModal, _
"Sort spreadsheets")
Select Case Tipo
Case vbYes
    'Opção de ordenação crescente
    For k = 1 To ThisWorkbook.Sheets.Count
        For i = 1 To ThisWorkbook.Sheets.Count - 1
            If Sheets(i).Name > Sheets(i + 1).Name Then
            Sheets(i + 1).Move Before:=Sheets(i)
            End If
        Next i
    Next k
Case vbNo
'Opção de ordenação decrescente
    For k = 1 To ThisWorkbook.Sheets.Count
        For i = 1 To ThisWorkbook.Sheets.Count - 1
            If Sheets(i).Name < Sheets(i + 1).Name Then
            Sheets(i + 1).Move Before:=Sheets(i)
            End If
        Next i
    Next k
End Select
End Sub
modifica flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower

Stats

Chieste: 2019-10-23 17:42:16 +0100

Seen: 35 times

Last updated: Oct 28