Re: [utenti] Calc - Unione celle
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
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
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
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
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
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
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
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
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
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]