VBA, forzare l'aggiornamento di un foglio

Discussioni su qualunque linguaggio di programmazione o engine
Rispondi
Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

VBA, forzare l'aggiornamento di un foglio

Messaggio 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
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: VBA, forzare l'aggiornamento di un foglio

Messaggio 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...
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: VBA, forzare l'aggiornamento di un foglio

Messaggio 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.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: VBA, forzare l'aggiornamento di un foglio

Messaggio 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

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: VBA, forzare l'aggiornamento di un foglio

Messaggio 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...
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: VBA, forzare l'aggiornamento di un foglio

Messaggio da Jak »

Proteggi un foglio con password... con dentro codice vba con le password. Così forse riesci a non tenerle in chiaro.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti