[Risolto] trova e sostituisci Formule utilizzando la Macro

Creare una macro - Scrivere uno script - Usare le API
Rispondi
chimico
Messaggi: 97
Iscritto il: giovedì 22 novembre 2018, 15:20

[Risolto] trova e sostituisci Formule utilizzando la Macro

Messaggio da chimico »

Saluti ,

è necessario creare una Macro per trovare una String particolare nelle Formule della colonna "N" e sostituirla con un'altra String .

per esempio:

Trova nelle Formule della colonna "N" i caratteri minuscoli "abcd" e poi Sostituisci con i caratteri "ABCD" maiuscoli .

osservazione:

questo processo deve essere eseguito solo nelle Formule della colonna "N" .


abbracci .
Ultima modifica di chimico il sabato 16 marzo 2019, 15:54, modificato 1 volta in totale.
LibreOffice 5.4.4.2 no Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: trova e sostituisci in Formule utilizzando la Macro

Messaggio da patel »

allega un file di esempio
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
chimico
Messaggi: 97
Iscritto il: giovedì 22 novembre 2018, 15:20

Re: trova e sostituisci in Formule utilizzando la Macro

Messaggio da chimico »

segue il file allegato .

la Macro dovrebbe trovare la stringa "abcd" nelle Formule della colonna "N", e quindi Sostituire con la stringa "ABCD" .

osservazione:

non sempre nella colonna "N" le Formule hanno caratteri "abcd", quindi la Macro deve cercare "abcd" e quindi, se trova, deve sostituire .
Allegati
cambia formula.ods
(8.19 KiB) Scaricato 189 volte
LibreOffice 5.4.4.2 no Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: trova e sostituisci in Formule utilizzando la Macro

Messaggio da patel »

Codice: Seleziona tutto

Sub Main
Doc = ThisComponent
Sh = Doc.Sheets(0)
r=1
do while Sh.getCellRangeByName("M" & r).String <> ""
  s = Sh.getCellRangeByName("N" & r).FormulaLocal
  rep = Replace(s,"abcd","ABCD")
  Sh.getCellRangeByName("N" & r).FormulaLocal= rep
  r=r+1
loop
End Sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
chimico
Messaggi: 97
Iscritto il: giovedì 22 novembre 2018, 15:20

[Risolto] trova e sostituisci in Formule utilizzando la Macr

Messaggio da chimico »

sr. patel ,
questo è quello che stavo cercando . :bravo: :super:

Grazie mille, amico mio. :)

abbracci .
LibreOffice 5.4.4.2 no Windows 7
Rispondi