Guido (email.it) ha scritto:
la "nuova area" è di DESTINAZIONE e non è un'area sorgente... (OOo 2.4)
Oppure hai trovato una particolare di opzioni combinazione che ti consente di variare la tabella di input?
Grazie del confronto.
In realtà in versioni "modificate" / "pacchettizzate" (es. Ubuntu 8.04) trovi la possibilità di agire sul campo "origine". Io uso Slackware e OOo lo scarico aggiornato dal sito di OpenOffice.org e non ho quel campo su cui agire. Siccome la "questione " era già stata trattata su questa lista, ti riporto la mia risposta di allora se ti può essere utile fintanto che .....

/Ciao,
io uso molto il "datapilot" e purtroppo come si può leggere nel manuale l'intervallo di "Partenza" non è fra i valori che si possono modificare. C'è un errore di traduzione nel manuale, perchè probabilmente dove si dice "Risultato da" (Result from:) deve esser tradotto con "Risultato in".

Per ovviare al tuo problema io adotto le seguenti possibilità:

1 - Utilizzo delle macro
2 - Inserisco nuove righe prima dell'ultima riga definita nell'intervallo del datapilot, cioè, se il datapilot è definito Tabella1.$A$1:$D$100 aggiungo una riga prima della 100 così sicuramente il range di lavoro del datapilot si aggiorna in Tabella1.$A$1:$D$101

se vuoi un esempio generico di macro che utilizzo:

Sub CreaDataPilot ()

  Dim sFoglio As Object
  Dim sRiepil As Object

  Set sFoglio = ThisComponent.Sheets.getByName("Elenco")
  Set sRiepil = ThisComponent.Sheets.getByName("Riepilogo RPNC")

  oDPSource = sFoglio.getCellRangeByName("DBase").getRangeAddress()
  oDPDestRange = createUnoStruct("com.sun.star.table.CellAddress")
oDPDestRange.Sheet = sRiepil.getCellRangeByName("A1").getRangeAddress.Sheet
  oDPDestRange.column = 0
  oDPDestRange.row = 0
        If sRiepil.DataPilotTables.hasByName("DP") Then
      sRiepil.getDataPilotTables.removeByName("DP")
  End If
  oDPCtrl = sRiepil.DataPilotTables.createDataPilotDescriptor()
  oDPCtrl.setSourceRange(oDPSource)
  oDPCtrl.ColumnGrand = False

  oDPCampi = oDPCtrl.getDataPilotFields()
oDPCampi.getByName("Impianto").orientation = com.sun.star.sheet.DataPilotFieldOrientation.PAGE oDPCampi.getByName("Finitura").orientation = com.sun.star.sheet.DataPilotFieldOrientation.ROW oDPCampi.getByName("Cliente").orientation = com.sun.star.sheet.DataPilotFieldOrientation.ROW oDPCampi.getByName("QTA NR").orientation = com.sun.star.sheet.DataPilotFieldOrientation.DATA oDPCampi.getByName("QTA KG").orientation = com.sun.star.sheet.DataPilotFieldOrientation.DATA

oDPCampi.getByName("Finitura").function = com.sun.star.sheet.GeneralFunction.SUM oDPCampi.getByName("Data").orientation = com.sun.star.sheet.DataPilotFieldOrientation.COLUMN

  sRiepil.DataPilotTables.insertNewByName("DP", oDPDestRange, oDPCtrl)

End Sub
/

--
Giordani Sergio

Linux User: 359205: http://counter.li.org
Sistema operativo: Slackware: http://www.slackware.com/

Rispondere a