Sviluppare funzionalita su Microsoft Office con VBA Ciclo for con solo ultime due cifre

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

    Crescenzo

      Ciao 

      vorrei creare una macro che prende un valore dalla cella A1

      es: 19010567/10

      inizia poi un ciclo for decrescente dal numero posto dopo “ / “ fino a 1, modificando tale valore nella cella.

      Es:

      19010567/9

      19010567/8

      19010567/7

      .

      .

      .

      19010567/1

      tale azione mi serve per mandare il file in stampa ad ogni decrescita.

      #23347 Score: 0 | Risposta

      PMC77
      Partecipante
        18 pts

        Ciao Crescenzo!

        Non ho capito molto bene, ma ti dovrebbe  bastare un ciclo sulle righe del tuo foglio ed un altro interno sulla cella interessata per far decrescere il valore fino al valore desiderato!

        Se alleghi un file con l'abbozzo della tua macro è più facile!

        Paolo

        #23348 Score: 0 | Risposta

        Luca73
        Partecipante
          54 pts

          Potrebbe bastare anche una formula...

          =LEFT(A9;FIND("/";A9;1)) & RIGHT(A9;LEN(A9)-FIND("/";A9;1))-1

          Come macro io farei un ciclo For indice=9 to 1 step -1

          e poi nella cella inziile.offset(-indice,0)=parte sinistra & indice

          Ciao

          Luca

           

          #23349 Score: 0 | Risposta

          Mister_x

            ciao

            (  inizia poi un ciclo for decrescente dal numero posto dopo “ / “ fino a 1, modificando tale valore nella cella. )

            quindi  questo va fatto solo sulla cella A1  ?????? OK

            (  tale azione mi serve per mandare il file in stampa ad ogni decrescita.  ) 

            quindi per fare questo dobbiamo sapere a priori quando la Sub() deve intervenire per fare questo lavoro

             ?? al cambio di una cella, ad un tot di tempo, al salvataggio del file, ad una stampa co0mandata da VBA, ecc. ?????   questa e' la domanda da cui applicare la regola di scalare tale valore

            fai sapere ciao

            #23402 Score: 0 | Risposta

            tanimon
            Partecipante
              16 pts

              ciao a tutti, 

              ciao Crescenzo,

              in A1 del Foglio1 metti 1/10 e ricorda che dopo la barra ci dovranno essere sempre 2 caratteri.

              Es. per 8 devi inserire 08.

              in un modulo definisci una variabile Public

              Public valore As String

              sul modulo di Questa cartella di Lavoro

              Private Sub Workbook_Open()
              valore = Val(Right(Range("a1"), 2))
              End Sub
              

              nel modulo del Foglio1

              `Private Sub Worksheet_Change(ByVal Target As Range)
              If Val(Right(Range("a1"), 2)) = valore - 1 Then
                  MsgBox "vado in stampa" ' da modificare con l'istruzione di stampa
              End If
              
              valore = Val(Right(Range("a1"), 2))
              End Sub
              
              `

              cambia quanto dopo la barra in A1 diminuendolo di una unità ricordando di inserire 2 cifre

              e guarda se siamo su una strada che può andarti bene.

              ciao e fai sapere.

               

              Frank

            Login Registrati
            Stai vedendo 5 articoli - dal 1 a 5 (di 5 totali)
            Rispondi a: Ciclo for con solo ultime due cifre
            Gli allegati sono permessi solo ad utenti REGISTRATI
            Le tue informazioni: