Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
* Excel - incollare collegamento con formula...è possibile?
Nuovo argomento   Rispondi    Indice del forum -> Office e LibreOffice
Precedente :: Successivo  
Autore Messaggio
hunter32
Comune mortale
Comune mortale


Registrato: 04/09/08 19:18
Messaggi: 4

MessaggioInviato: 04 Set 2008 19:47    Oggetto: * Excel - incollare collegamento con formula...è possibile? Rispondi citando

Non so come copiare un collegamendo ad una cella copiando la formula scritta al suo interno invece del valore (come accade di predefinito).

Mi spiego: se scrivo "='Foglio 1'!$A$1" nella cella A1 nel Foglio 2, copio il valore della cella A1 presente nel Foglio 1, se la cella copiata contiene una formula che calcola, per es., una somma nel Foglio 1, viene copiato solo il risultato e non la formula che calcola la somma.

Il mio obiettivo è quello di creare un riferimento che copi la formula e NON il valore in modo tale da poter collegare parecchi fogli di lavoro che utilizzano la medesima formula ad un unico foglio che contiene le formule originali le quali, se errate, non devono essere ricopiate in tutti i fogli in cui vengono utilizzate ma diventa sufficiente correggerle nel foglio contenente le formule originali.

Spero di essere stato sufficientemente chiaro. Smile

Grazie.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 17:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 05 Set 2008 10:13    Oggetto: Rispondi citando

Non ricordo molto bene Microsoft Excel (è tanto che non lo uso),
ma hai provato con menù "modifica" -> "incolla speciale .." ?
Top
Profilo Invia messaggio privato
hunter32
Comune mortale
Comune mortale


Registrato: 04/09/08 19:18
Messaggi: 4

MessaggioInviato: 05 Set 2008 12:15    Oggetto: Rispondi citando

chemicalbit ha scritto:
Non ricordo molto bene Microsoft Excel (è tanto che non lo uso),
ma hai provato con menù "modifica" -> "incolla speciale .." ?


Purtroppo sì...praticamente se spunto l'opzione "Formule" il pulsante "Incolla collegamento" si disattiva automaticamente, per questo mi chiedevo se fosse possibile, che so, aggiungendo manualmente qualcosa nella formula "='Foglio 1'!$A$1"...

Grazie comunque!
Top
Profilo Invia messaggio privato
GrayWolf
Dio maturo
Dio maturo


Registrato: 03/07/05 16:24
Messaggi: 2325
Residenza: ... come frontiera i confini del mondo...

MessaggioInviato: 05 Set 2008 12:46    Oggetto: Rispondi citando

OK

ipotizziamo che nel Foglio1, in B5, ci sia la formula:
=SOMMA(A1:A3)

.1 copia la formula
.2 vai sul Foglio2 e posizionati sulla stessa cella B5
.3 incolla
.4 anteponi a ogni coordinata di cella: "Foglio1!" in modo che appaia così: =SOMMA(Foglio1!A1:Foglio1!A3)

In questo modo copi il risultato della formula nel Foglio1

se non anteponi niente, la formula fa riferimento al Foglio2, cercando di fare la somma delle stesse celle [sempre che tu abbia l'abbia copiata nella stessa cella in cui è presente nel Foglio1]
se la copi in una cella diversa [sempre del Foglio2] il range di calcolo è lo stesso ma cambiano le coordinate:
la formula copiata in B6 sarà =SOMMA(A2:A4)
Top
Profilo Invia messaggio privato
hunter32
Comune mortale
Comune mortale


Registrato: 04/09/08 19:18
Messaggi: 4

MessaggioInviato: 05 Set 2008 16:30    Oggetto: Rispondi citando

GrayWolf ha scritto:
OK

ipotizziamo che nel Foglio1, in B5, ci sia la formula:
=SOMMA(A1:A3)

.1 copia la formula
.2 vai sul Foglio2 e posizionati sulla stessa cella B5
.3 incolla
.4 anteponi a ogni coordinata di cella: "Foglio1!" in modo che appaia così: =SOMMA(Foglio1!A1:Foglio1!A3)

In questo modo copi il risultato della formula nel Foglio1

Mi scuso per non essere stato sufficientemente chiaro ma non è quello che sto cercando di fare...

Cercherò di spiegarmi meglio con un esempio più diretto:
ho progettato un file excel capace di calcolare diversa roba, per calcolare alcune cose, ho dovuto utilizzare delle formule particolarmente lunghe e complesse.
Le suddette formule, servono per calcolare alcuni particolari dati e sono caratterizzate anche da decine di annidamenti "SE".
Ogni foglio di lavoro è identico e viene compilato un tot di volte l'anno.
Nell'utilizzare i primi fogli di lavoro sono usciti fuori un po' di errori che possono sembrare stupidi (per es. celle non incluse in controlli in cui dovevano esserlo) ma sono comunque errori.
Ho corretto gli errori ma, una volta fatto, ho dovuto ricopiare tutte le formule modificate in tutti i tot fogli di lavoro, il che è una vera e propria seccatura, soprattutto se riscontro nuovi errori o miglioro le formule che utilizzo, per mostrare più dati.

Ora, il mio obiettivo consiste nel scrivere le suddette formule SOLO in un foglio di lavoro, supponiamo il Foglio1, i restanti dovrebbero avere, al posto delle formule, un collegamento alle celle del Foglio1 contenenti le formule. Ogni foglio di lavoro, escluso il primo, non dovrà fare riferimento al Foglio1 per i dati contenuti in esso ma solo per le formule, l'esempio potrebbe essere riproposto come segue:
1) Valorizzo la cella B5 del Foglio1 in "=SOMMA(A1:A3)"
2) Inserisco una formula che spero esista ma che non conosco nella cella B5 del Foglio2 che mi crea un collegamento alla formula presente nella cella B5 del Foglio1
3) Modifico la cella B5 del Foglio1 da "=SOMMA(A1:A3)" a "=MAX(A1:A3)"
4) Automaticamente, attraverso la formula del punto 2, anche la cella B5 del Foglio2 si ritroverà con la formula "=MAX(A1:A3)" senza che io l'abbia modificata direttamente nel Foglio2

Se rapportato a 2 fogli di lavoro, può sembrare inutile, rapportato a 40 fogli che utilizzano le medesime formule dovrebbe essere più che utile, oltre, forse, a diminuire le dimensioni del file che ha raggiunto un peso che potrei definire "insolito"...

P.S.: se può essere d'aiuto, credo che il mio obiettivo sia venuto fuori dalla programmazione ad oggetti che ormai è entrata nella mia testa che, in questo caso, porta alla creazione di un oggetto contenente le formule e di numerosi altri oggetti che si riferiscono ad esso

Spero di essere stato più chiaro....grazie per il supporto!
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 17:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 05 Set 2008 17:43    Oggetto: Rispondi citando

hunter32 ha scritto:
che so, aggiungendo manualmente qualcosa nella formula "='Foglio 1'!$A$1"...
Ma la formula nel foglio 2 deve prendere i dati dal folgio 2, la formula nel foglio 3 deve prenderli dal foglio 3 e così via,

oppure -come sembra dalla tua idea di usare "Foglio1!" tutte le formule devono prendere i dati dallo stesso foglio (foglio1)?
Top
Profilo Invia messaggio privato
hunter32
Comune mortale
Comune mortale


Registrato: 04/09/08 19:18
Messaggi: 4

MessaggioInviato: 05 Set 2008 18:25    Oggetto: Rispondi citando

chemicalbit ha scritto:
Ma la formula nel foglio 2 deve prendere i dati dal folgio 2, la formula nel foglio 3 deve prenderli dal foglio 3 e così via,

Esatto. Aggiungo che la formula per effettuare i calcoli nel Foglio 2 deve essere identica a quella del Foglio 3 ecc, tutte le formule, poi, devono essere prese automaticamente dal Foglio1 e, se modifico le formule del Foglio1, cambiano automaticamente anche quelle del Foglio2 così come del Foglio3 e così via.

chemicalbit ha scritto:
oppure -come sembra dalla tua idea di usare "Foglio1!" tutte le formule devono prendere i dati dallo stesso foglio (foglio1)?

No. Mi scuso per l'imprecisione ma non sapevo che inserendo "Foglio1!" davanti alle coordinate le riprendesse da un dato foglio (come ha descritto GrayWolf: "=SOMMA(Foglio1!A1:Foglio1!A3)").

Quello che volevo intendere nel mio primo post con "='Foglio 1'!$A$1" era il fatto che io sia alla ricerca di una formula in grado di copiare automaticamente e dinamicamente le formule così come quella riportata ("='Foglio 1'!$A$1") ne copia i valori.
Top
Profilo Invia messaggio privato
carmelo.pec
Mortale pio
Mortale pio


Registrato: 28/10/07 15:06
Messaggi: 28

MessaggioInviato: 19 Set 2008 13:38    Oggetto: Rispondi citando

Se non ho capito male, quello che vuoi fare, è semplicemente creare dei fogli separati, copiando le formule che che hai scritto nel primo.
Senza che le modifiche fatte nel primo, si propaghino nei foglio successivi.

Per fare quest'operazione basta copiare normalmente quello che c'è nel primo foglio.
e utilizzare l'opzione incolla speciale.
selezionando la voce incolla formule.

Ovviamente se copi una cella la sua formula deve essere inserita in una cella.
Se copi un'intero foglio le celle contenute vanno inserite in un foglio da solo.

Un'altra procedura è questa.
-Puntare il puntatore del Muose sul foglio che vuoi copiare, tasto destro.
-Selezionare la voce "Sposta e Copia" (si apre una finestra scegliere sposta alla fine e ceccare la voce crea una copia)

così si crea una copia del foglio, di conseguenza basta solo renominarlo.

Spero di aver centrato il problema.

Ciao
Top
Profilo Invia messaggio privato MSN
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 17:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 19 Set 2008 14:26    Oggetto: Rispondi citando

Ma tu, , vuoi fare in modo che la formula sia incollata come collegamento, quindi se si modificherà successivamente la formula nel foglio 1, anche tutte le sue copie negli altri fogli verranno modificate?
Top
Profilo Invia messaggio privato
ioSOLOio
Amministratore
Amministratore


Registrato: 12/09/03 18:01
Messaggi: 16342
Residenza: in un sacco di...acqua

MessaggioInviato: 19 Set 2008 17:11    Oggetto: Rispondi citando

chemicalbit ha scritto:
Ma tu, , vuoi fare in modo che la formula sia incollata come collegamento, quindi se si modificherà successivamente la formula nel foglio 1, anche tutte le sue copie negli altri fogli verranno modificate?

eh si, credo proprio voglia quello....
costruire un foglio di "sole formule" e poi gli altri fogli che utilizzano le formule create nel foglio 1
In questo modo se deve modificare o correggere una formula, lo farà una volta sola nel foglio 1
Infatti dice

hunter32 ha scritto:

Ora, il mio obiettivo consiste nel scrivere le suddette formule SOLO in un foglio di lavoro, supponiamo il Foglio1, i restanti dovrebbero avere, al posto delle formule, un collegamento alle celle del Foglio1 contenenti le formule. Ogni foglio di lavoro, escluso il primo, non dovrà fare riferimento al Foglio1 per i dati contenuti in esso ma solo per le formule, l'esempio potrebbe essere riproposto come segue:
1) Valorizzo la cella B5 del Foglio1 in "=SOMMA(A1:A3)"
2) Inserisco una formula che spero esista ma che non conosco nella cella B5 del Foglio2 che mi crea un collegamento alla formula presente nella cella B5 del Foglio1
3) Modifico la cella B5 del Foglio1 da "=SOMMA(A1:A3)" a "=MAX(A1:A3)"
4) Automaticamente, attraverso la formula del punto 2, anche la cella B5 del Foglio2 si ritroverà con la formula "=MAX(A1:A3)" senza che io l'abbia modificata direttamente nel Foglio2
Top
Profilo Invia messaggio privato
GrayWolf
Dio maturo
Dio maturo


Registrato: 03/07/05 16:24
Messaggi: 2325
Residenza: ... come frontiera i confini del mondo...

MessaggioInviato: 22 Set 2008 20:16    Oggetto: Rispondi citando

hunter32 ha scritto:

...
...
Ora, il mio obiettivo consiste nel scrivere le suddette formule SOLO in un foglio di lavoro, supponiamo il Foglio1, i restanti dovrebbero avere, al posto delle formule, un collegamento alle celle del Foglio1 contenenti le formule. Ogni foglio di lavoro, escluso il primo, non dovrà fare riferimento al Foglio1 per i dati contenuti in esso ma solo per le formule
..
...


Non sono riuscito a trovare niente che dicesse come fare il link delle formule, quindi mi sono stancato Wink e ho scritto questa piccola macro:
Codice:

Sub PropagaFormule()
'
' PropagaFormule Macro
' Macro registrata il 22/09/2008
'


    With Worksheets("Foglio1")
     'struttura valida per UNA formula
     '------------------------------------------
      Range("B10").Select
      Selection.Copy
      For Each Foglio In Worksheets
        If Not Foglio.Name = "Foglio1" Then
          Foglio.Select
          Range("B10").Select
          ActiveSheet.Paste
        End If
      Next
     '------------------------------------------
    End With
   
End Sub


Cosa fa
.1 Si posiziona sulla cella B10 del Foglio1
.2 per tutti i fogli che NON sono Foglio1, replica la formula presente nella cella indicata.


Come si personalizza
.1 Aprire una cartella di Excel
.2 Creare il numero di fogli voluto
.3 Inserire tutte le formule necessarie Nel Foglio1
.4 Creare la macro assegnandogli il nome voluto e copia/incollando il codice succitato [nell'esempio la formula è stata chiamata: PropagaFormule]
.5 Duplicare per ogni formula inserita nel Foglio1, il codice racchiuso fra trattini modificando il riferimento della cella,
.6 Eseguire la macro

Nel caso in cui una formula cambiasse sarà sufficiente rieseguire la macro per propagare la nuova versione in tutti i fogli.

Ancora:
Nel caso il numero di formule fosse eccessivo e non si volesse propagarle tutte ogni volta che si modifica una sola formula, si può agire nel seguente modo:
Creare due macro, una che comprenda la propagazione di tutte le formule [da eseguirsi solo la prima volta] e una che ne propaghi solo una [tale e quale al codice in esempio], quando si modifica una formula in tempi successivi, sarà sufficiente modificare questa seconda macro indicando la cella che contiene la formula modificata e poi eseguire la macro per propagarla.

Spero che basti a risolverti il problema Smile
Top
Profilo Invia messaggio privato
ioSOLOio
Amministratore
Amministratore


Registrato: 12/09/03 18:01
Messaggi: 16342
Residenza: in un sacco di...acqua

MessaggioInviato: 23 Set 2008 19:42    Oggetto: Rispondi citando

GrayWolf ha scritto:

Non sono riuscito a trovare niente che dicesse come fare il link delle formule, quindi mi sono stancato Wink e ho scritto questa piccola macro: [..]

prelevata !
Appena ho un momento la testo...ho già in mente un paio di utilizzi sul lavoro Wink

Eh il Lupone..
Top
Profilo Invia messaggio privato
aldorote
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 01/06/07 13:33
Messaggi: 132

MessaggioInviato: 29 Set 2008 15:36    Oggetto: Rispondi citando

.
Top
Profilo Invia messaggio privato
maspi
Mortale devoto
Mortale devoto


Registrato: 22/05/07 16:13
Messaggi: 6

MessaggioInviato: 29 Set 2008 16:32    Oggetto: Rispondi citando

Ciaotutti.

Mi domando se non sia possibile utilizzare una feature di Excel, vale a dire, il *nome*. Alle funzioni complesse, anche annidate, è possibile attribuire un nome (menu Inserisci->Nome->Definisci), poi diventa molto più facile scrivere (o anche copiare), nei vari fogli, formule altrimenti lunghissime...

In pratica, è come se passassi un parametro (o anche più) alle varie funzioni, che puoi definire con un nome e radunare in un unico foglio. Così se cambi una formula "originale", questa cambierà ovunque essa è richiamata, appunto, dal suo *nome*...

Ma forse non ho capito bene il problema...
Top
Profilo Invia messaggio privato
GrayWolf
Dio maturo
Dio maturo


Registrato: 03/07/05 16:24
Messaggi: 2325
Residenza: ... come frontiera i confini del mondo...

MessaggioInviato: 01 Ott 2008 10:24    Oggetto: Rispondi citando

maspi ha scritto:
Ciaotutti.

Mi domando se non sia possibile utilizzare una feature di Excel, vale a dire, il *nome*. Alle funzioni complesse, anche annidate, è possibile attribuire un nome (menu Inserisci->Nome->Definisci), poi diventa molto più facile scrivere (o anche copiare), nei vari fogli, formule altrimenti lunghissime...

In pratica, è come se passassi un parametro (o anche più) alle varie funzioni, che puoi definire con un nome e radunare in un unico foglio. Così se cambi una formula "originale", questa cambierà ovunque essa è richiamata, appunto, dal suo *nome*...

Ma forse non ho capito bene il problema...


Ottimo metodo, è più facile rintracciare parti di formula o formule intere, ma...

.1 riporta il valore risultante dalla formula che comunque si riferisce al foglio in cui è inserita.

.2 Il nostro amico ha un'esigenza diversa:
.2.1 creare formule nel Foglio1
.2.2 ripetere tali formule in un numero elevato di fogli
.2.3 ogni formula deve fare riferimento al foglio in cui è inserita

L'ipotesi più ovvia è: "Crea il primo foglio e poi duplicalo quante volte vuoi"
Ok, corretto, ma...
se modifico una o più formule nel primo foglio, come cavolo faccio a far si che le modifiche siano riprodotte in tutti i fogli, copia del primo?

P.S.
Naturalmente, potrebbe essermi sfuggito qualcosa e sono io a non aver capito fino in fondo ciò che volevi dire. Wink
Top
Profilo Invia messaggio privato
brven
Mortale devoto
Mortale devoto


Registrato: 01/06/06 14:27
Messaggi: 12

MessaggioInviato: 01 Ott 2008 12:42    Oggetto: Rispondi citando

Ciao a tutti! Non ho la soluzione però ho un'idea che vorrei esporre.
Si otterrebbe ciò se si potesse considerare la formula in questione come del testo e quindi dove serve si dovrebbe richiamare quel testo e farlo convertire da excel in una formula. Non so però se excel ha una funzione di conversione testo in formula così come può avvenire per i numeri.
Non so se una soluzione potrebbe essere la funzione stringa che consentirebbe di estrarre da un eventuale testo solo dei caratteri corrispondenti proprio ad una formula.
Top
Profilo Invia messaggio privato
Garp
Mortale devoto
Mortale devoto


Registrato: 31/10/08 00:17
Messaggi: 16

MessaggioInviato: 31 Ott 2008 08:10    Oggetto: Rispondi citando

Ciao a tutti, sono nuovo.
Mi scuso in anticipo se ho capito male cosa vuoi fare, ma secondo me la soluzione potrebbe essere:
- seleziona tutti i fogli di lavoro del file
- vai sulla cella che vuoi modificare nel Foglio 1 (es b1)
- scrivi la formula che ti interessa (nel tuo esempio =max(a1:a3) )
- deseleziona tutti i fogli
In questo modo la formula di cui sopra apparirà in tutti i fogli nella cella b1
ciao
Top
Profilo Invia messaggio privato HomePage
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 17:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 31 Ott 2008 09:25    Oggetto: Rispondi citando

Garp ha scritto:
In questo modo la formula di cui sopra apparirà in tutti i fogli nella cella b1
E se la modifichi in una dei fogli si modifica automaticamente in tutti,

oppure bsogna prima -con lo stesso metodo- selezionare tutti i fogli?

p.s.: Benvenuto Garp!
Ciao
Se vuoi, fai un salto in questa discussione a presentarti agli utenti del forum.
Top
Profilo Invia messaggio privato
GrayWolf
Dio maturo
Dio maturo


Registrato: 03/07/05 16:24
Messaggi: 2325
Residenza: ... come frontiera i confini del mondo...

MessaggioInviato: 03 Nov 2008 13:24    Oggetto: Rispondi citando

Garp ha scritto:
Ciao a tutti, sono nuovo.
Mi scuso in anticipo se ho capito male cosa vuoi fare, ma secondo me la soluzione potrebbe essere:
- seleziona tutti i fogli di lavoro del file
- vai sulla cella che vuoi modificare nel Foglio 1 (es b1)
- scrivi la formula che ti interessa (nel tuo esempio =max(a1:a3) )
- deseleziona tutti i fogli
In questo modo la formula di cui sopra apparirà in tutti i fogli nella cella b1
ciao


Bravo Garp Applause

Ottima soluzione alternativa [non la conoscevo]
così se voglio cambiare una formula ri-seleziono tutti i fogli e modifico solo l'originale
se, invece, voglio modificarla solo in un foglio non effettuo la multiselezione
[quest'ultima possibilità, pur non essendo attinente al problema, comporta comunque un grosso risparmio di tempo]

Bravo Applause
Top
Profilo Invia messaggio privato
Garp
Mortale devoto
Mortale devoto


Registrato: 31/10/08 00:17
Messaggi: 16

MessaggioInviato: 03 Nov 2008 22:41    Oggetto: Rispondi

Si, esatto, bisogna riselezionare tutti i fogli.
Occhio però dopo aver fatto la modifica a deselezionare i fogli, se te ne dimentichi finisci per fare casini sui vari fogli.
Top
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Office e LibreOffice Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi