avrei bosogno di sostituire tutte le occorrenze di una formula in un foglio
di lavoro... come posso fare a farlo fare in automatico?
Es.: Devo cambiare in tutto un foglio tutte le occorrenze di D14 con D15...
La funzione Trova cerca nelle formule ma non fa la sostituzione
automatica... devo farla a mano? No vero?!!
cio
Se ho capito, devi usare 'Sostituisci' al quale accedi da men� > Modifica >
Sostituisci
oppure dalla stessa finestra di Trova selezionando la scheda 'Sostituisci'.
Ciao, Nur
Ciao cio, ciao Nur,
il trova/sostituisci potrebbe andare bene, per� bisogna anche tener conto
che:
- potrebbero esserci sostituizioni indesiderate, tipo D140 che diventa D150,
oppure AD14 che diventa AD15;
- non funziona con eventuali riferimenti misti ($D14, D$14) o assoluti
($D$15)
Un'alternativa � quella di spostare la cella D14 sulla D15 , ma anche in
questo caso ci potrebbero essere dei problemi.
Dopo averlo fatto, se nel foglio non ci sono formule che prima dello
spostamento facevano riferimento alla cella D15, bene.
In caso contrario, i riferimenti che prima erano D15, perdono il riferimento
e diventano #RIF!
Per rispristinarlo, puoi fare poi un trova/sostituisci di #RIF! con D15
(unica cosa che perdi sono eventuali riferimenti relativi/assoluti a D15 che
c'erano prima dello spostamento).
Vedi tu (a seconda del caso in cui ti trovi) cosa ti conviene fare.
--
Ciao,
Ignazio
RIO: www.riolab.org
mi spiego meglio,
ho N worksheet e io faccio riferimento ad un worksheet dove ho in alcune
celle dei valori che cambiano di mese in mese.
Sto approntando delle tabelle mensili dove ho per ogni mese dei valori che
cambiano.
Ho fatto dei riferimenti di tipo Foglio2!D14 nelle formule del worksheet
Foglio1
Vorrei cercare le formule e cambiare _nella formula_ Foglio2!D14 in
Foglio2!D15
Uso Excel2000 quindi non so se il sostituisci di versioni pi� recenti lo fa
anche nelle formule, il 2000 cerca nelle formule ma non so se sostituisce
anche...
In caso negativo mi aspetta un lavoro certosino...
Spero di essermi spiegato meglio.
Grazie 1000 per le risposte e per la pazienza.
cio
il dobbio era dovuto al fatto che nella maschera in Trova ci fosse la voce
Cerca in: Formule mentre cliccando su sostituisci la relativa combo...
sparisce lasciando nel dobbio.
Ho provato e effettivamente tutto funziona!
Grazie 1000
cio
> "Nur" <news...@gmail.com> ha scritto nel messaggio
> news:%23gutPU6...@TK2MSFTNGP02.phx.gbl...
> >
> > "cio" <c...@cio.it> ha scritto nel messaggio news:h8tglb$271$1...@aioe.org...
> >> ciao
> >>
> >> avrei bosogno di sostituire tutte le occorrenze di una formula in un
> >> foglio di lavoro... come posso fare a farlo fare in automatico?
> >>
> >> Es.: Devo cambiare in tutto un foglio tutte le occorrenze di D14 con
> >> D15...
> >>
> >> La funzione Trova cerca nelle formule ma non fa la sostituzione
> >> automatica... devo farla a mano? No vero?!!
> >
> > Se ho capito, devi usare 'Sostituisci' al quale accedi da menù > Modifica
> > > Sostituisci
> > oppure dalla stessa finestra di Trova selezionando la scheda
> > 'Sostituisci'.
> >
> > Ciao, Nur
>
> Ciao cio, ciao Nur,
> il trova/sostituisci potrebbe andare bene, però bisogna anche tener conto
> che:
> - potrebbero esserci sostituizioni indesiderate, tipo D140 che diventa D150,
> oppure AD14 che diventa AD15;
> - non funziona con eventuali riferimenti misti ($D14, D$14) o assoluti
> ($D$15)
>
> Un'alternativa è quella di spostare la cella D14 sulla D15 , ma anche in
> questo caso ci potrebbero essere dei problemi.
> Dopo averlo fatto, se nel foglio non ci sono formule che prima dello
> spostamento facevano riferimento alla cella D15, bene.
> In caso contrario, i riferimenti che prima erano D15, perdono il riferimento
> e diventano #RIF!
> Per rispristinarlo, puoi fare poi un trova/sostituisci di #RIF! con D15
> (unica cosa che perdi sono eventuali riferimenti relativi/assoluti a D15 che
> c'erano prima dello spostamento).
>
> Vedi tu (a seconda del caso in cui ti trovi) cosa ti conviene fare.
>
non l'ho testata e l'ho fatta di fretta (mi sa che si può fare meglio)
... comunque qualcosa del tipo:
Function Sostituisci_Rif( _
Testo As String, _
Rif_A1 As String, _
Sostituisci As String) As String
Dim re As Object
Dim v
Set re = CreateObject("vbscript.regexp")
re.Global = False
re.Pattern = "([^A-Z])(" & Rif_A1 & ")([^\d]|$)"
rip:
If re.test(Testo) Then
Testo = re.Replace(Testo, "$1" & Sostituisci & "$3")
GoTo rip
Else
Sostituisci_Rif = Testo
End If
End Function
Sub prova()
Dim r As Range
For Each r In [a1:a10]
r.FormulaLocal = Sostituisci_Rif(r.FormulaLocal, "D4", "D5")
Debug.Print r.FormulaLocal
Next
End Sub
potrebbe risolvere il problema che hai evidenziato
saluti
r
--
Come e dove incollare il codice:
http://www.rondebruin.nl/code.htm
Il mio ultimo lavoro ...
http://excelvba.altervista.org/blog/index.php/Excel-VBA/UsedRange-eccezioni-e-alternative.html