Mi dispiace che non ho tempo di adattarlo al tuo scopo, ma ti do una
macro che ho fatto più o meno allo scopo che serve anche a te:
copiare dati da un documento calc a un altro: naturalmente devi
adattarla al tuo, definendo diversamente i documenti, le celle, ecc. 

Sub TrasfDatiTimeWeb
 oDesktop = createUnoService("com.sun.star.frame.Desktop") 'sessione
 oDocument= oDesktop.CurrentComponent 'documento calc dove incollare
i dati
 oSheets = oDocument.sheets 'tabelle del documento

 'controlla che il documento sia quello giusto
 on error goto GestioneErroreRip
 if oDocument.DocumentInfo.Title  "TurCalc" then exit sub
 On error goto 0
 oNamen = oDocument.NamedRanges

 'cerca il documento dove copiare i dati
 'rileva il file TurCalc_InterDat.ods
 oComponents = oDesktop.getComponents()
 oDocs = oComponents.createEnumeration()

 While oDocs.hasMoreElements
 oDoc = oDocs.NextElement
 On error resume next
 oInfo=oDoc.getDocumentInfo()
 if oInfo.KeyWords="InterDat" then
 oInterDoc = oDoc
 end if
 on error goto 0
 Wend

 oNamenInter = oInterDoc.NamedRanges
 oSheetsInter = oInterDoc.sheets

 'incolla i dati dalla memoria temporanea di lavoro nel foglio
InterDat

 oCella=oNamenInter.getByName("PrimaCella").referredCells
 oInterDoc.CurrentController.Select(oCella)

 'riporta i dati in TurCalc: copia da InterDat e incolla in TurCal
 miaAreaCopia=oNamenInter.getByName("AreaDati").referredCells
 miaAreaIncolla=oNamen.getByName("DatiTimeWeb").referredCells
 miaAreaIncolla.clearContents(7)
 dim aData()
 aData = miaAreaCopia.DataArray
 miaAreaIncolla.DataArray=aData

 'elabora formato dati in modo opportuno
 for MyLoopDTW = 0 to 30
 sDatoDTW = miaAreaIncolla.GetCellByPosition(2,MyLoopDTW).string
 if sDatoDTW"0" then
 iLung=len(sDatoDTW)
 sNewDatoDTW = ""
 for MyLoopDTW2 = 1 to iLung
 iChr = asc(mid(sDatoDTW,MyLoopDTW2,1))
 if iChr=10 then sNewDatoDTW = sNewDatoDTW & " " else sNewDatoDTW =
sNewDatoDTW & chr(iChr)
 next
 miaAreaIncolla.GetCellByPosition(2,MyLoopDTW).string = sNewDatoDTW
 end if
 next 

 GestioneErroreRip:
 End Sub 

Antonello  

--------nicola  wrote-------- 

Subject: [utenti] copiare dati tra fogli 

Date: 08.03.2012 15:04 

 Ciao, avrei bisognio di un aiuto per questo problema:
>  uso un foglio di calc \"fattura.ods\" (sia OO che LB) per fare le mie
> fatture, quando emetto una fattura vorrei salvare, con un pulsante,
> tutti i dati compresi nell'intervallo A13:i44 in un altro file calc
> chiamato \"dati.ods\" nella cartella /home/fatture.
>  mi servirebbe una macro che:
>  1 copi i dati nell'intervallo A13:i44
>  2 apra il file dati.ods
>  3 incolli i dati a partire dalla colona A del foglio 1 accodandoli a
> quelli precedenti (es. A1:i1 - A2:i10 ecc.) le righe non sono quasi
> mai uguali ma le colonne si
>  4 salvi il file dati.ods e lo chiuda
>  ringrazio chi ha la pazienza e il tempo per aiutarmi.
>  Nicola  

Rispondere a