Re: [utenti] Calc - Unione celle

2006-09-30 Per discussione A-Lex
Il giorno sab, 30/09/2006 alle 00.18 +0200, Marco Caresia ha scritto:
 A-Lex wrote:
  
  Il nocciolo è nel fatto che se scrivi un testo o un numero nella cella
  iniziale, nn cambia nulla. Mentre se scrivi una formula succede quanto
  descritto
  
  si perde il contenuto originale della cella e
  rimane solo il risultato,
  
 
 Un caso reale potrebbe giovare... ;)

:D Sei incredibile!! :D
Per te scrivere una macro è come parlare :D

Ho un paio di domande (da assoluto profano, quindi perdona le eventuali
eresie):

 
 Comunque è vero che se la formula è nella prima cella (e le altre sono 
 vuote) la formula rimane mentre se è in un'altra no.
 
 La formula delle celle unite è quella della prima cella (che diventa 
 un'unica cella). Ho scritto una macro che penso possa risolvere il 
 problema. L'unione celle è probabilmente una funzionalità usata più 
 spesso di quello che credono gli sviluppatori...
 
 Sub UnisciFormula
 ' accedo al documento
   oDoc = ThisComponent

perchè hai dovuto creare questa variabile se nn la usi? oDoc nn
viene ripreso da nessuna parte e per di più per stabilire il
range delle celle usi di nuovo la funzione ThisComponent e nn
oDoc (sarebbe possibile?)

 ' accedo alla selezione
   oRange = ThisComponent.GetCurrentSelection
 ' salvo la funzione che si può trovare in una (sola) qualsiasi cella 
 della selezione
   for i=0 to oRange.Columns.Count-1
   for j=0 to oRange.Rows.Count-1

qui metti -1 perchè il ciclo parte da 0 e nn da 1, vero?

   oCell = oRange.GetCellByPosition(i,j)
   sFormula = sFormula  oCell.Formula

qui alla variabile sFormula assegni se stessa (nel caso nn fosse
vuota?) a cui accodo quelo che trovo il oCell?

   next j
   next i
 ' unisco le celle
   oRange.Merge(True)
 ' reimposto la formula: Notare che la cella è una sola (la prima)
   oRange.GetCellByPosition(0,0).Formula = sFormula
 End Sub

..e nel caso (come dice Stefano) nella selezione ci fossero più celle
compilate?

-- 
Saluti.
A-Lex

OOo 2.0.3 su wXP | 2.0.2 su FedoraCore5

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] Calc - Unione celle

2006-09-30 Per discussione Bart Aimar



Marco Caresia ha scritto:

A-Lex wrote:



Il nocciolo è nel fatto che se scrivi un testo o un numero nella cella
iniziale, nn cambia nulla. Mentre se scrivi una formula succede quanto
descritto


si perde il contenuto originale della cella e
rimane solo il risultato,





Un caso reale potrebbe giovare... ;)

:-)
Si!

Ho ancora fatto alcune prove... e il comportamento sembrerebbe questo:
se la formula non è nella prima cella in alto a destra restituisce 
sempre e soltanto il risultato... indipendentemente da dove venga 
iniziata la selezione...


Ho inteso bene?

ciao

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] Calc - Unione celle

2006-09-30 Per discussione Marco Caresia

A-Lex wrote:

oDoc = ThisComponent


perchè hai dovuto creare questa variabile se nn la usi? 



Infatti è un... refuso ;) Volevo in effetti scrivere oRange = 
oDoc.GetCurrentSelection ;)




qui metti -1 perchè il ciclo parte da 0 e nn da 1, vero?



Sì. E' dovuto al fatto che per ricavare la prima cella in alto a 
sinistra della selezione con il metodo getCellByPosition bisogna partire 
da (0,0).



sFormula = sFormula  oCell.Formula


qui alla variabile sFormula assegni se stessa (nel caso nn fosse
vuota?) a cui accodo quelo che trovo il oCell?



L'idea di partenza è che delle celle selezionate soltanto una contiene 
una formula (altrimenti quale funzione si dovrebbe preferire?) e le 
altre sono vuote; una sola cella cioè contiene una stringa nella 
proprietà Formula, mentre in tutte le altre c'è una stringa vuota.
Quindi tramite il ciclo vengono concatenate tutte le stringhe vuote 
(nessun effetto) e l'unica stringa non vuota (la funzione desiderata).


L'alternativa era fare un controllo con IF:
if oCell.Formula   then
sFormula = oCell.Formula
end if
ma questo vuol dire aggiungere una complessità (e il numero di righe di 
codice).




..e nel caso (come dice Stefano) nella selezione ci fossero più celle
compilate?



In effetti se le altre celle non sono vuote i loro valori sono 
concatenati nella formula finale... con risultati inaspettati.


La macro si può modificare per fare in modo che vengano ignorate le 
celle che non contengono una formula (la proprietà Value o String della 
cella corrisponde a Formula).
	if oCell.Formula   AND oCell.Value  oCell.Formula AND 
oCell.String  oCell.Formula then

sFormula = oCell.Formula
end if

Il solo metodo Merge(True) equivale a rispondere No alla domanda: 
Spostare il contenuto delle celle nascoste nella prima cella?


Ciao,
--
MC

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] Calc - Unione celle

2006-09-29 Per discussione Bart Aimar



A-Lex ha scritto:

Ciao a tutti.
Ho notato che se si fa l'unione di più celle al contrario (cioè verso
l'alto o verso sinistra), si perde il contenuto originale della cella e
rimane solo il risultato, mentre non accade se si unisce verso il basso
o verso destra.
Qualcuno può confermarmi la cosa, per favore?


A me non risulta... ma forse mi è sfuggito qualcosa...

In qualsiasi direzione io seleziono le celle da unire il risultato è 
sempre identico.

Nel senso che mi mette tutto quanto ha trovato e sempre come testo

Ma leggendo tutta la discussione ho avuto l'impressione che si stesse 
parlando di qualcos'altro...


fatemi sapere

Bart

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] Calc - Unione celle

2006-09-29 Per discussione A-Lex
Il giorno ven, 29/09/2006 alle 21.24 +0200, Bart Aimar ha scritto:
 
 A-Lex ha scritto:
  Ciao a tutti.
  Ho notato che se si fa l'unione di più celle al contrario (cioè verso
  l'alto o verso sinistra), si perde il contenuto originale della cella e
  rimane solo il risultato, mentre non accade se si unisce verso il basso
  o verso destra.
  Qualcuno può confermarmi la cosa, per favore?
 
 A me non risulta... ma forse mi è sfuggito qualcosa...
 
 In qualsiasi direzione io seleziono le celle da unire il risultato è 
 sempre identico.
 Nel senso che mi mette tutto quanto ha trovato e sempre come testo
 
 Ma leggendo tutta la discussione ho avuto l'impressione che si stesse 
 parlando di qualcos'altro...
 
 fatemi sapere
 
 Bart
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

Il nocciolo è nel fatto che se scrivi un testo o un numero nella cella
iniziale, nn cambia nulla. Mentre se scrivi una formula succede quanto
descritto

  si perde il contenuto originale della cella e
  rimane solo il risultato,

'notte! :)

-- 
Saluti.
A-Lex

OOo 2.0.3 su wXP | 2.0.2 su FedoraCore5

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] Calc - Unione celle

2006-09-29 Per discussione Marco Caresia

A-Lex wrote:


Il nocciolo è nel fatto che se scrivi un testo o un numero nella cella
iniziale, nn cambia nulla. Mentre se scrivi una formula succede quanto
descritto


si perde il contenuto originale della cella e
rimane solo il risultato,




Un caso reale potrebbe giovare... ;)

Comunque è vero che se la formula è nella prima cella (e le altre sono 
vuote) la formula rimane mentre se è in un'altra no.


La formula delle celle unite è quella della prima cella (che diventa 
un'unica cella). Ho scritto una macro che penso possa risolvere il 
problema. L'unione celle è probabilmente una funzionalità usata più 
spesso di quello che credono gli sviluppatori...


Sub UnisciFormula
' accedo al documento
oDoc = ThisComponent
' accedo alla selezione
oRange = ThisComponent.GetCurrentSelection
' salvo la funzione che si può trovare in una (sola) qualsiasi cella 
della selezione

for i=0 to oRange.Columns.Count-1
for j=0 to oRange.Rows.Count-1
oCell = oRange.GetCellByPosition(i,j)
sFormula = sFormula  oCell.Formula
next j
next i
' unisco le celle
oRange.Merge(True)
' reimposto la formula: Notare che la cella è una sola (la prima)
oRange.GetCellByPosition(0,0).Formula = sFormula
End Sub

--
MC

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[utenti] Calc - Unione celle

2006-09-27 Per discussione A-Lex
Ciao a tutti.
Ho notato che se si fa l'unione di più celle al contrario (cioè verso
l'alto o verso sinistra), si perde il contenuto originale della cella e
rimane solo il risultato, mentre non accade se si unisce verso il basso
o verso destra.
Qualcuno può confermarmi la cosa, per favore?

-- 
Saluti.
A-Lex

OOo 2.0.3 su FedoraCore5 e wXP

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] Calc - Unione celle

2006-09-27 Per discussione Studio CICUTO - PC D

A-Lex ha scritto:

Ciao a tutti.
Ho notato che se si fa l'unione di più celle al contrario (cioè verso
l'alto o verso sinistra), si perde il contenuto originale della cella e
rimane solo il risultato, mentre non accade se si unisce verso il basso
o verso destra.
Qualcuno può confermarmi la cosa, per favore?
  

Si è così.
In particolare ciò che conta è la cella da cui parte la selezione: è 
sempre la prima in alto a sinistra.
In particolare bisogna però notare che così si possono unire celle 
salvaguardando il contenuto di tutte, infatti nel caso di unione di due 
celle non vuote, non vengono riportate le formule (come si potrebbe?), 
ma i valori calcolati!!


Saluti
Stefano

--
Studio CICUTO
tel. +39 0113093302
FAX  1782221764 (da Italia)
0825140234 (da Francia)
08712422460 (da Regno Unito)
+39 011 3093302 (da altre nazioni)
www.studiocicuto.7h.com
[EMAIL PROTECTED]

OpenOffice.org: usalo, copialo e regalalo, è legale!
http://it.openoffice.org/ 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] Calc - Unione celle

2006-09-27 Per discussione A-Lex
Il giorno mer, 27/09/2006 alle 15.35 +0200, Studio CICUTO - PC D ha
scritto:
[..cut..]
 In particolare bisogna però notare che così si possono unire celle 
 salvaguardando il contenuto di tutte, infatti nel caso di unione di due 
 celle non vuote, non vengono riportate le formule (come si potrebbe?), 

Beh, magari inserendo in automatico un pipe (  |  ) tra le funzioni...
come le serie di comandi dati in linea di comando su unix/linux

-- 
Saluti.
A-Lex

OOo 2.0.3 su FedoraCore5 e wXP

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] Calc - Unione celle

2006-09-27 Per discussione Studio CICUTO - PC C

Alex ha scritto:

Il giorno mer, 27/09/2006 alle 15.35 +0200, Studio CICUTO - PC D ha
scritto:
  

A-Lex ha scritto:


[..cut..]
  
In particolare bisogna però notare che così si possono unire celle 
salvaguardando il contenuto di tutte, infatti nel caso di unione di due 
celle non vuote, non vengono riportate le formule (come si potrebbe?), 


Beh, magari inserendo in automatico un pipe (  |  ) tra le funzioni...
come le serie di comandi dati in linea di comando su unix/linux
  

Potrebbe anche essere, ma una formula col pipe funzionerebbe? Quale
risultato potrebbe dare (il pipe dei risultati precedenti? Ed allora
eventuali formule correlate alle celle che sono state unite, che calcolo
farebbero, quale risultato darebbero?
A mio avviso è molto logico concatenare i risultati come valori.
Qualcun altro ha idee?
Saluti
Stefano

--
Studio CICUTO
tel. +39 0113093302
FAX  1782221764 (da Italia)
0825140234 (da Francia)
08712422460 (da Regno Unito)
+39 011 3093302 (da altre nazioni)
www.studiocicuto.7h.com
[EMAIL PROTECTED]

OpenOffice.org: usalo, copialo e regalalo, è legale!
http://it.openoffice.org/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]