Sviluppare funzionalita su Microsoft Office con VBA Copiare foglio precedente con le stesse impostazioni di protezione foglio

Login Registrati
Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #22582 Score: 0 | Risposta

    FROST220684
    Partecipante

      Salve a tutti

      In una mia precedente discussione risolto brillantemente da albatros avevamo sviluppato questo codice vba per copiare il foglio precedente ed effettuare alcune modifiche sul nuovo foglio copiato. Nelle varie verifiche ho però constatato che nonostante il foglio precedente sia bloccato nelle celle e protetto da password quando si va a premere il tasto copia foglio avviene tutto in modo corretto ma crea un foglio senza protezione. è possibile inserire una stringa per proteggere il nuovo foglio come il precedente?

      allego codice definitivo

      Option Explicit
      Sub albatros54Post22269()
          Dim p As String
          Dim q As Single
          Dim d As String
          Cells.Select
          p = ActiveSheet.name
          q = ActiveSheet.Range("o68")
          d = aume(p)
          Selection.Copy
          Sheets.Add After:=Sheets(Sheets.Count)
          ActiveSheet.Paste
          Range("a3:t44").FormulaR1C1 = ""
          Range("a60").FormulaR1C1 = ""
          Range("a64").FormulaR1C1 = ""
          Range("a68").FormulaR1C1 = ""
          Range("a72").FormulaR1C1 = ""
          Range("e56:j70").FormulaR1C1 = ""
          Range("k56:r62").FormulaR1C1 = ""
          Range("o64").FormulaR1C1 = ""
          ActiveSheet.name = "Cassa del " & d
          ActiveSheet.Range("a56") = q
          ActiveWindow.Zoom = 55
          Range("a1").Select
          
      End Sub
      
      
      
      Public Function aume(m)
          Dim MyArray As Variant, data As Variant
          Dim stringa As String, f As String, nomeaumentato As String
          Dim name As Date
          Dim rng As Range
          Dim nome As Date
          Dim aumento As String
          stringa = ActiveSheet.name
          MyArray = Split(stringa)
          nome = MyArray(2)
          nomeaumentato = nome + 1
          nomeaumentato = Replace(nomeaumentato, "/", "-")
          aume = nomeaumentato
      
      End Function

      Grazie a tutti

      #22591 Score: 0 | Risposta

      albatros54
      Moderatore
        89 pts

        aggiungi questariga di cadice alla fine della macro"albatros54Post22269"

        ActiveSheet.Protect Password:="Albatros54"

         

         

        Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
        Sempre il mare, uomo libero, amerai!
        ( Charles Baudelaire )
        #22592 Score: 0 | Risposta

        patel
        Moderatore
          51 pts

          ricordiamoci però che esiste anche il registratore di macro per cose così banali

          #22609 Score: 0 | Risposta

          FROST220684
          Partecipante

            Salve a tutti,

            Chiedo scusa per non aver provato con il registratore di macro prima. Ad Ogni modo ho provato sia la stringa su che il registratore di macro ma quando lo vado ad inserire nel codice e clicco sul tasto copia foglio, il nuovo foglio risulta sbloccato.

            sinceramente non so da cosa possa dipendere e se ho sbagliato qualcosa.

            Allego file con il foglio bloccato la password è Albatros54, vedrete che quando copierete il foglio le celle con formule dentro risultano editabili.

             

            Grazie mille a tutti

            Allegati:
            You must be logged in to view attached files.
          Login Registrati
          Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
          Rispondi a: Copiare foglio precedente con le stesse impostazioni di protezione foglio
          Gli allegati sono permessi solo ad utenti REGISTRATI
          Le tue informazioni: