Se le formule sono identiche, è possibile utilizzare Trova e sostituisci con Match entire cell contents
selezionato e Look in: Formulas
. Seleziona l'intervallo, vai su Trova e sostituisci, crea le tue voci e sostituisci Tutto.
O vuoi dire che ci sono diverse formule con questa stessa forma, ma diversi riferimenti di cella? Se è così, allora un modo per andare è una corrispondenza regolare e sostituire. Le espressioni regolari non sono incorporate in Excel (o VBA), ma sono accessibili tramite la libreria VBScript delle espressioni regolari di Microsoft.
La seguente funzione fornisce la funzionalità di corrispondenza e sostituzione necessaria. Può essere utilizzato in una subroutine che identifica celle con formule nell'intervallo specificato e utilizza le formule come input per la funzione. Per le stringhe di formule che corrispondono al modello che stai cercando, la funzione produrrà la formula di sostituzione, che potrebbe quindi essere riscritta nel foglio di lavoro.
Function RegexFormulaReplace(formula As String)
Dim regex As New RegExp
regex.Pattern = "=\(\(([A-Z]+\d+)-([A-Z]+\d+)\)/([A-Z]+\d+)\)"
' Test if a match is found
If regex.Test(formula) = True Then
RegexFormulaReplace = regex.Replace(formula, "=(EXP((LN($1/$2)/14.32))-1")
Else
RegexFormulaReplace = CVErr(xlErrValue)
End If
Set regex = Nothing
End Function
Affinché la funzione di lavorare, si avrebbe bisogno di aggiungere un riferimento alla libreria Microsoft VBScript Regular Expressions 5.5. Dalla scheda Developer
della barra multifunzione principale, selezionare VBA
e quindi References
dalla barra degli strumenti principale. Scorri verso il basso per trovare il riferimento alla libreria e seleziona la casella accanto ad essa.
* dappertutto * - quindi non una singola colonna o riga? Circa quanti è * tutto *? – pnuts
Tutto il posto significa che c'erano tre colonne diverse in cui la formula si sarebbe verificata per un totale di 31 volte. Ho finito per passare a R1C1 poiché la struttura era la stessa in ogni caso. Vedi la mia risposta. – Tomulent
Passare al formato RC è la strada da percorrere per questo su larga scala ma non ne vale la pena (come sospettavo) su piccola scala. Intendiamoci, considererei 31 su piccola scala! Dato per esempio, le altre risposte, penso che questa sia una domanda che merita un buon punteggio, quindi il mio +1, anche se questo lo restituisce solo a 0, ho paura. – pnuts