Buongiorno,
dovrei riunire sotto la stessa pagina tutti gli sheet del file in questione. Trattasi di piu di 200 sheets per cui eviterei un copia ed incolla manuale.
Grazie anticipatamente
Unire sheets
-
- Messaggi: 11
- Iscritto il: mercoledì 3 dicembre 2014, 15:07
Unire sheets
- Allegati
-
- licencia ciutat vella (1).ods
- (124.76 KiB) Scaricato 96 volte
Open office 4.0.1
sistema operativo windows 7
sistema operativo windows 7
Re: Unire sheets
Ti occorre una macro.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
-
- Messaggi: 11
- Iscritto il: mercoledì 3 dicembre 2014, 15:07
Re: Unire sheets
accidenti....sembra qualcosa di complicato...sapresti indicarmi delle piattaforme online che convertono file di grandi dimensioni da PDF in ODS?
Open office 4.0.1
sistema operativo windows 7
sistema operativo windows 7
Re: Unire sheets
La macro in questo caso è abbastanza semplice, per prima cosa devi abilitare il programma alle macro andando su Strumenti - Opzioni - Sicurezza - Sicurezza delle macro - imposti a medio, ad ogni apertura del file ti comparirà una finestra dove dovrai selezionare il pulsante Abilita macro.
Dai un'occhiata a questa breve guida dove potrai iniziare a familiarizzare con il mondo delle macro.http://www.plio.it/sites/default/files/ ... _Macro.pdf
Questa è la macro che ti occorre, la prima parte accoda i dati dal secondo all'ultimo foglio sul primo, in seguito li elimina tutti tranne il primo.
Al momento ho inserito Exit sub a metà routine in modo tale da non eliminare i fogli, se lo togli la macro continua e completa il lavoro con l'eliminazione. Si potrebbe pure inserire un messaggio che ci avvisa e ci chiede se vogliamo eliminare i fogli ma questo lo vediamo dopo se serve.
PS: La prossima volta allega un file esemplificativo con pochi fogli e non 240!!!! e con dati fittizi.
Dai un'occhiata a questa breve guida dove potrai iniziare a familiarizzare con il mondo delle macro.http://www.plio.it/sites/default/files/ ... _Macro.pdf
Questa è la macro che ti occorre, la prima parte accoda i dati dal secondo all'ultimo foglio sul primo, in seguito li elimina tutti tranne il primo.
Al momento ho inserito Exit sub a metà routine in modo tale da non eliminare i fogli, se lo togli la macro continua e completa il lavoro con l'eliminazione. Si potrebbe pure inserire un messaggio che ci avvisa e ci chiede se vogliamo eliminare i fogli ma questo lo vediamo dopo se serve.
Codice: Seleziona tutto
Sub Copia
Dim Doc As object, Shs As Object
Dim i As Long
Doc = ThisComponent
Shs = Doc.Sheets
ShPrimo = Shs(0)
c = ShPrimo.createCursor
c.gotoEndOfUsedArea(false)
LastRow = c.RangeAddress.EndRow
For i = 1 To Shs.Count -1
Sh = Shs(i)
c = Sh.createCursor
c.gotoEndOfUsedArea(false)
LastRowShs = c.RangeAddress.EndRow
Dati() = Sh.GetCellRangeByPosition(0, 0, 5, LastRowShs).GetDataArray
ShPrimo.GetCellRangeByPosition(0, LastRow+1, 5, LastRow+1+LastRowShs).SetDataArray(Dati)
LastRow = LastRow + LastRowShs + 1
Next i
EXIT SUB
REM QUESTA PARTE SE SI VOGLIONO ELIMINARE I FOGLI COPIATI
For i = Shs.Count - 1 To 1 step - 1
ShName = Shs(i).Name
Shs.removeByName(ShName)
Next i
End Sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10