Sviluppare funzionalita su Microsoft Office con VBA numerazione tra diversi fogli

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

    Buongiorno, forse per voi è una grandissima cavolata ma ho provato anche con il registratore di macro e non riesco a venirne a capo.

    Nell'esempio allegato, semplificato ma che rende bene l'idea, nei 3 fogli nel range A1:A3 ho una numerazione casuale ma che vorrei diventasse progressiva…...es: i numeri vanno da 1 a 9 e vorrei che nel foglio1 invece di 1,2 e 4 venisse 1,2,3; nel foglio 2 in A1:A3 venisse 4,5,6 e nel foglio 3 sempre in A1:A3  7,8,9.

     

    Allegati:
    You must be logged in to view attached files.
    #30687 Risposta
    Marius44
    Marius44
    Moderatore
      35 pts

      Ciao

      Nell'allegato non vedo alcuna macro nè tentativo.

      Prova così:

      Sub Progress()
      For i = 1 To Sheets.Count
        For j = 1 To 3
          a = a + 1
          Sheets(i).Cells(j, 1) = a
        Next j
      Next i
      End Sub

      Ciao,

      Mario

      #30688 Risposta

      Mister_x
      Partecipante
        8 pts

        ciao

        esempio da inserire in un modulo standar

        Option Explicit
        Sub inserisciNumeri()
        Dim i As Long, o As Long
        Dim numP As Long
        numP = 1
        For i = 1 To Worksheets.Count
          For o = 1 To 3
           Worksheets(i).Cells(o, 1) = numP
           numP = numP + 1
          Next o
        Next i
        End Sub
        

        ciao

        #30698 Risposta

        Il mio esempio è stato fuorviante perché ho dato per scontato che le celle  A1:A3 nei 3 fogli fossero tutte numerate.

        Nella realtà può succedere che solo 1 o nessuna sia numerata, riallego il file con una ipotesi più veritiera.

        Il range sarà sempre A1:A3 ma se nel foglio 1 ho numerati A1 e A3 per esempio con 1 e 3 dovrà diventare A1=1 e A3=2.

        Spero di essere stato chiaro. 

        #30700 Risposta
        Marius44
        Marius44
        Moderatore
          35 pts

          Ciao

          Con la nuova spiegazione .... non ho capito niente.

          Ripartiamo dall'inizio: hai 3 fogli nei quali nelle celle A1:A3 di ciascun foglio vorresti mettere dei numeri progressivi.

          Quadi sono le possibilità:

          Che le tre celle in ogni foglio siano vuote oppure siano piene - allora vanno bene le due macro suggerite.

          Che una delle tre celle in un foglio sia vuota e le altre piene - vuoi che la cella vuota rimanga tale e nelle restanti celle si inserisca il numero progressivo.

          Che due delle tre celle siano vuote e una sia piena - vuoi che le due celle rimangano vuote e la numerazione progressiva vada solo sulla cella piena.

          E' corretto quanto sopra?

          Ciao,

          Mario

           

          #30701 Risposta
          Marius44
          Marius44
          Moderatore
            35 pts

            Ciao

            Se ho capito bene la macro va modificata così

            Sub Progress()
            For i = 1 To Sheets.Count
              For j = 1 To 3
                If Sheets(i).Cells(j, 1) <> "" Then
                  a = a + 1
                  Sheets(i).Cells(j, 1) = a
                End If
              Next j
            Next i
            End Sub

            Ciao,

            Mario

             

             

            #30702 Risposta

            La tua soluzione è ottimale e funzionante e ti ringrazio. Nel caso però che questa progressività sia spezzata? Mi spiego meglio:

            non sto a spiegarti come vengono inseriti i numeri in colonna F ma mettiamo che si passi da una progressività da 1 a 5 e poi da 20 a 26. Tieni conto che questi numeri vengono presi da un range che alimento in un altro foglio. Ti allego il foglio con la numerazione.

            Allegati:
            You must be logged in to view attached files.
            #30704 Risposta
            Marius44
            Marius44
            Moderatore
              35 pts

              Ciao

              Al post #1 hai detto

              vorrei diventasse progressiva

              Da dove salta fuori la progressiva da 1 a 5 e poi da 20 a 26 !!!

              Dov'è la progressività? Siamo al salto della quaglia!

               

              Scusa lo sfogo ma non si può andare avanti a tentativi senza avere una chiara visione del tutto. E io non ce l'ho e tu, mi sembra, non l'hai spiegata. E cosa è la colonna F? Da dove salta fuori?

               

              Ciao,

              Mario

              #30705 Risposta

              Mario hai ragione sia sulla progressività che sulla colonna F.

              ti spiego: ricevo blocchi di buoni numerati progressivamente e prima che termini un blocco da 200 ne ricevo un altro che a volte non è consecutivo al primo, il primo da 1 a 200 il secondo da 300 a 500. Può capitare quindi che debba passare dal 200 al 300.

              foglio 1 numeri 199 e 200

              Foglio 2 303 e 301

              foglio 3 302 e 300

              #30706 Risposta
              Marius44
              Marius44
              Moderatore
                35 pts

                Ciao

                Prova con la macro sottostante che ha bisogno in F1 di ogni Foglio il numero dal quale iniziare la progressività per il singolo Foglio.

                La macro assume il valore indicato in F1 di ciascun Foglio e inserisce la numerazione progressiva per quel Foglio 

                Sub Progress()
                a = 0
                For i = 1 To Sheets.Count
                  a = Sheets(i).Cells(1, 6).Value 'valoe della cell F1
                  For j = 1 To 3
                    If Sheets(i).Cells(j, 1) <> "" Then
                      Sheets(i).Cells(j, 1) = a
                      a = a + 1
                    End If
                  Next j
                Next i
                End Sub

                Ti allego il file sul quale ho fatto la prova.

                Ciao,

                Mario

                 

                Allegati:
                You must be logged in to view attached files.
              LoginRegistrati
              Stai vedendo 10 articoli - dal 1 a 10 (di 10 totali)
              Rispondi a: numerazione tra diversi fogli
              Gli allegati sono permessi solo ad utenti REGISTRATI
              Le tue informazioni:



              vecchio frac - 2750 risposte

              patel
              patel - 1073 risposte

              albatros54
              albatros54 - 1058 risposte

              Marius44
              Marius44 - 970 risposte

              Luca73
              Luca73 - 766 risposte