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

LoginRegistrati
Stai vedendo 5 articoli - dal 1 a 5 (di 5 totali)
  • Autore
    Articoli
  • #23344 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 Risposta
      PMC77
      PMC77
      Partecipante
        8 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 Risposta
        Luca73
        Luca73
        Partecipante
          31 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 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 Risposta
            tanimon
            tanimon
            Partecipante
              10 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

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



            vecchio frac - 2750 risposte

            albatros54
            albatros54 - 1009 risposte

            patel
            patel - 976 risposte

            Marius44
            Marius44 - 848 risposte

            Luca73
            Luca73 - 720 risposte