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

LoginRegistrati
Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #22582 Risposta

    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 Risposta
    albatros54
    albatros54
    Moderatore
    • Sfida #2
      43 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 Risposta
      patel
      patel
      Moderatore
      • Sfida #6
        34 pts

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

        #22609 Risposta

        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.
      LoginRegistrati
      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:



      vecchio frac - 2750 risposte

      albatros54
      albatros54 - 791 risposte

      patel
      patel - 689 risposte

      Marius44
      Marius44 - 592 risposte

      Luca73
      Luca73 - 553 risposte