Sviluppare funzionalita su Microsoft Office con VBA cella con incremento di valore.

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

    mflauto
    Partecipante
      1 pt

      Buonasera a tutti,

       ho creato un set di istruzioni, per la creazione di fogli di lavoro che utilizzano un foglio master  il n. 1, le istruzioni si limitano a copiare il foglio n. 1 rinominare il nuovo foglio utilizzando il valore della cella "I4" e incrementandolo di 1. mi spiego meglio:

      foglio 1 distinta di carico n. 1, foglio 2 distinta n. 2, e così via, ora vorrei che su ogni nuovo foglio venga  nella cella"I4" incrementato di + 1 come succede per l'etichetta.

      In allegato il file di esempio.

      Grazie

      `ub CreaNuovaDistinta()
      Dim mCol As Integer, shPrec As String, attuale As String
          
        
          attuale = ActiveSheet.Name
          
          If ActiveSheet.Tab.Color = RGB(255, 0, 0) Then
              MSGBOX " Non puoi creare una nuova settimana da un foglio copia"
              Exit Sub
          End If
          If IsNumeric(attuale) Then attuale = CStr(attuale + 1)
          For j = 1 To Sheets.Count
              If Sheets(j).Name = attuale Then
                  MSGBOX "Il foglio " & distinta & " già esiste, per creare la nuova distinta" & vbCrLf & _
                          "devi utilizzare il pulsante  dell'ultimo foglio valido"
                  Exit Sub
              End If
          Next
          
        
          Application.ScreenUpdating = False
         
         If MSGBOX("Creare la nuova distinta?", vbYesNo) = vbNo Then 'seve per interrompere la macro nle caso si scriva "no"
          Exit Sub
          End If
              
          Application.EnableEvents = False
       
          Dim sh As Worksheet
          Set sh = ActiveSheet
          sh.Copy After:=Sheets(Sheets.Count)
          Set sh = ActiveSheet
          
          sh.Name = sh.Range("I4") + 1
       
          Call CancellaDati.CancellaDati
      
      End Sub
      
      `

      Massimiliano.

      #34888 Score: 0 | Risposta

      seawolf

        capito poco e niente, cerca di essere piu chiaro e se ti è possibile allega un file

        #34889 Score: 0 | Risposta

        PMC77
        Partecipante
          18 pts

          #mflauto , concordo con #seawolf (che saluto)

          Invece di mandare le istruzioni slegate d atutto, manda il file con un po' di dati in modo che si possa capire cosa vuoi fare!

          Ciao

          Paolo

           

          #34892 Score: 0 | Risposta

          rollis13
          Partecipante
            8 pts

            Un saluto a tutti.

            @mflauto, aggiungi questa riga al tuo codice in questo punto:

            `'...
            sh.Name = sh.Range("I4") + 1
            Range("I4") = Range("I4") + 1                 '<-aggiunta
            Call CancellaDati.CancellaDati
            '...`
            #34895 Score: 0 | Risposta

            mflauto
            Partecipante
              1 pt

              Ti ringrazio,

               avevo risolto ma per qualche oscuro motivo la routine non partiva! 🙂

              #34896 Score: 0 | Risposta

              rollis13
              Partecipante
                8 pts

                Grazie per il riscontro , sono contento che siamo stati in grado di aiutare anche se non ho capito quale sia la tua soluzione.

                #34897 Score: 0 | Risposta

                rollis13
                Partecipante
                  8 pts

                  Sarà perché hai un  Application.EnableEvents = False  che non viene più riattivato.

                Login Registrati
                Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
                Rispondi a: cella con incremento di valore.
                Gli allegati sono permessi solo ad utenti REGISTRATI
                Le tue informazioni: