Pagina 1 di 1

VBA, forzare l'aggiornamento di un foglio

Inviato: 26/03/2018, 14:01
da gameplay_extreme
Sto lavorando con VBA su excel 2007
Ho notato che alcune function (formule perosnalizzate), in alcuni casi, non si auto-aggiornano dopo un nuovo inserimento dati. Per questo ho creato un pulsante "ricalcola" che è collegato una sub/macro che forza il ricalcolo delle formule per le prime 20x20 celle. Il concetto praticamente è questo:

Codice: Seleziona tutto

'esempio con la cella A1:
ActiveSheet.Cells(1, "A").Value = ActiveSheet.Cells(1, "A").Formula
fin qui tutto bene...ma...
...ora se blocco (con password) le celle contenti le formule personalizzate per evitare cancellazioni accidentali, ii tasto "ricalcola" non funziona più (praticamente appare un messaggio che, se proprio si vuole procedere, bisogna togliere la protezione).

Praticamente il sistema di protezione protegge troppo...qualche idea su come risolvere questo problema ?

PS: la cella che contiene il pulsante è sbloccata

Re: VBA, forzare l'aggiornamento di un foglio

Inviato: 05/04/2018, 11:43
da gameplay_extreme
nessuna idea ?

cioè io volevo far si che le celle fossero bloccate da modifiche accidentali su tastiera, non si che bloccasse la sub/macro ricalcola nel momento in cui fa l'elaborazione di cui sopra...

Re: VBA, forzare l'aggiornamento di un foglio

Inviato: 06/04/2018, 20:45
da Jak
Ma soluzioni semplici quali aggiornare office ad una versione meno buggata?
A lavoro ho la 2010 e, pur avendo tonnellate di bug di altro tipo, non ho mai dovuto fare tasti di ricalcolo e robe simili.
Hai anche pensato a bloccare l'intero foglio appoggiando quindi le funzioni ad un'altro, oppure a sbattertene e se uno si impegna a cancellare le formule in fin dei conti son cavolacci suoi?
Per me ti stai facendo troppe paranoie.

Re: VBA, forzare l'aggiornamento di un foglio

Inviato: 09/04/2018, 16:31
da Cash
Non so niente di VBA però cercando su internet ho trovato questo:

Codice: Seleziona tutto

Sheets("Sheet1").Unprotect "tuapassword"
'Modifica celle'
Sheets("Sheet1").Protect "tuapassword"
https://www.mrexcel.com/forum/excel-que ... sheet.html
Altrimenti prova quest'altro metodo:
https://stackoverflow.com/questions/125 ... vba-script

Re: VBA, forzare l'aggiornamento di un foglio

Inviato: 13/04/2018, 19:21
da gameplay_extreme
inanzitutto grazie per le risposte
Ma soluzioni semplici quali aggiornare office ad una versione meno buggata?
non dipende da me la versione di excel scelta
se uno si impegna a cancellare le formule in fin dei conti son cavolacci suoi?
non dipende da me la scelta di proteggere il foglio

Codice: Seleziona tutto

Sheets("Sheet1").Unprotect "tuapassword"
'Modifica celle'
Sheets("Sheet1").Protect "tuapassword"
funziona!
così facendo la password è però in chiaro, ma essendo questo solo un modo per proteggere da modifiche accidentali, va bene lo stesso...

Re: VBA, forzare l'aggiornamento di un foglio

Inviato: 14/04/2018, 10:07
da Jak
Proteggi un foglio con password... con dentro codice vba con le password. Così forse riesci a non tenerle in chiaro.