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
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