Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    Excel: evitare che alcune celle vengano modficate

    Esiste una maniera per che appena si va a modificare una determinata cella mi venga chiesta conferma per tale modifica?
    Originariamente inviato da seifer is back
    la condivisone delle risorse, è il miglior sistema per il progresso e la ricerca.
    Nessun problema di budget, collaborazione fra le migliorimenti e totale accesso all'informazione.
    Il comunismo non è un utopia.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Apri l'editor vba, fai doppio click sul foglio cui vuoi applicare il codice e incolla questo:

    codice:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
        If Not Intersect(Target, Range("$A$1:$A$3,$A$20")) Is Nothing Then
            If MsgBox(Prompt:="Vuoi rendere effettive le modifiche?", Buttons:=vbYesNo, Title:="Conferma") = 7 Then
                Application.Undo
            End If
         End If
    Application.EnableEvents = True
    End Sub
    nel mio esempio verrà richiesta conferma per la cella a20 e per il range a1:a3, giusto per darti un'idea di come applicare il tutto anche a intervalli non contigui.

  3. #3
    Scusa l'ignoranza.... cos'è l'editor vba??
    Originariamente inviato da seifer is back
    la condivisone delle risorse, è il miglior sistema per il progresso e la ricerca.
    Nessun problema di budget, collaborazione fra le migliorimenti e totale accesso all'informazione.
    Il comunismo non è un utopia.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    E' "l'ambiente" di sviluppo per mezzo del quale puoi integrare funzioni supplementari all'interno degli applicativi office (word, excel, powerpoint, access) scrivendo del codice vba .
    Per accedervi basta che prema alt+f11. Sulla sinistra ti apparirà una finestra "Progetto - VBAProject" e da lì fai ciò che ti ho scritto.

  5. #5
    Devo scriverlo in parte a name?
    Originariamente inviato da seifer is back
    la condivisone delle risorse, è il miglior sistema per il progresso e la ricerca.
    Nessun problema di budget, collaborazione fra le migliorimenti e totale accesso all'informazione.
    Il comunismo non è un utopia.

  6. #6
    Originariamente inviato da nicola75ss
    Apri l'editor vba, fai doppio click sul foglio cui vuoi applicare il codice e incolla questo:

    codice:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
        If Not Intersect(Target, Range("$A$1:$A$3,$A$20")) Is Nothing Then
            If MsgBox(Prompt:="Vuoi rendere effettive le modifiche?", Buttons:=vbYesNo, Title:="Conferma") = 7 Then
                Application.Undo
            End If
         End If
    Application.EnableEvents = True
    End Sub
    nel mio esempio verrà richiesta conferma per la cella a20 e per il range a1:a3, giusto per darti un'idea di come applicare il tutto anche a intervalli non contigui.
    Ehm, a me quel codice non funziona...
    Mi servirebbe su un foglio Excel particolarmente complesso (simulazione di una mareggiata con un modello matematico...), ma su un foglio di prova, seguendo le indicazioni e cambiando soltanto le celle da controllare
    codice:
    Target, Range("$A$1:$B$1")
    mi modifica tranquillamente tutto senza avvisi! :master:
    Solo che all'apertura del file mi dice che contiene macro, io lo autorizzo ad attivarle, ma nisba!
    Ho Excel 2003 del relativo pacchetto Office, e VB 6.3.

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Gas75
    Ehm, a me quel codice non funziona...
    http://myfreefilehosting.com/f/3bb2f1ee3b_0.02MB


  8. #8
    al cubo!
    Ho aperto il tuo file mah.xls, il codice ha funzionato...
    Ho riaperto il mio file... e ora funziona pure lì! VVoVe:

    Risolto questo, è possibile fare in modo che:
    - il foglio Excel si apra senza propormi di disattivare la macro?
    - l'editor VB non sia accessibile per quel foglio?
    Perché se si va a modificare qualcosa di non consentito nel mio foglio della simulazione, essa diventa falsata e il modello sballa...

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Sul singolo foglio non saprei. Puoi proteggere il tutto tramite password. Nel menù Strumenti dell'editor vba vai su "Proprietà VBAProject => scheda protezione, metti la spunta e inserisci la tua password. Salvi e chiudi.

    Per la prima domanda può anche darsi che esista qualche escamotage ma per ovvie ragioni di sicurezza non credo sia una cosa così semplice.

  10. #10
    Okay, in qualche modo posso raggirare il primo problema: ho già abbozzato un foglio di calcolo Leggimi dove spiego come funziona quel file Excel, e lì posso specificare che il suo corretto funzionamento richiede l'attivazione delle macro, viceversa la tua alterazione farebbe sballare la simulazione.

    Grazie delle dritte!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.