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

    Frasubb
    Partecipante
      1 pt

      Ciao a tutti,

      nel mio foglio di lavoro ho le formule che elenco sotto, e che vorrei, se possibile e per favore, che siano gestite automaticamente tramite codice VBA. Allego file esempio

      Grazie in anticipo a chi vorrà aiutarmi

       

      formule:

      =SE(E2="";"";CERCA.VERT(E2;FEE!$A$2:$B$1859;2;0)) in colonna D

      =SE(M2="Si";"PAGATO";SE(F2="";"";(F2-$V$2))) in colonna G

      =SE(J2="";"";(J2)) in colonna K

      =PIÙ.SE(J2="";"";J2>1;"PDR";J2=1;"UNI") in colonna N

      =PIÙ.SE(K2="";"";K2=1;"Si";K2>1;"No") in colonna P

      Allegati:
      You must be logged in to view attached files.
      #54248 Score: 0 | Risposta

      alexps81
      Moderatore
        58 pts

        Sì, si può fare quello che chiedi e penso che sia la cosa giusta. Ma ci sono dei punti che non capisco. Ad esempio:

        1)in colonna "K" stai chiedendo alla formula di riportare il contenuto di "J" che a sua volta è un valore che proviene dalla ComboBox CboNumRate. A che serve duplicare questo valore?

        2) Nel pulsante cmdInvia presente nella UserForm1 c'è il codice che ti ho suggerito in discussioni precedenti, e i dati che andranno poi in colonna "P" provengono dal codice e non dalla formula =PIÙ.SE(K2="";"";K2=1;"Si";K2>1;"No") in colonna P

        Come puoi vedere questo è il pezzo di codice utile a far sì che i dati verranno poi trasferiti in colonna "P":

            For r = LBound(arr, 1) To UBound(arr, 1)
                Cells(r + 1, "A").Value = arr(r, 1)
                Cells(r + 1, "B").Value = arr(r, 2)
                Cells(r + 1, "C").Value = arr(r, 3)
                Cells(r + 1, "E").Value = arr(r, 5)
                Cells(r + 1, "F").Value = arr(r, 6)
                Cells(r + 1, "H").Value = arr(r, 8)
                Cells(r + 1, "I").Value = arr(r, 9)
                Cells(r + 1, "J").Value = arr(r, 10)
                Cells(r + 1, "L").Value = arr(r, 12)
                Cells(r + 1, "M").Value = arr(r, 13)
                Cells(r + 1, "O").Value = arr(r, 15)
                Cells(r + 1, "P").Value = arr(r, 16) '<----QUI
                Cells(r + 1, "Q").Value = arr(r, 17)
                Cells(r + 1, "S").Value = arr(r, 19)
            Next r

        ma non solo...anche qui (qualche riga di codice più su) non si capisce:

            If TxtDirLiber = "S" Then
                arr(nRows, 16) = "Si" 'P
            Else
                arr(nRows, 16) = "No"
            End If
            
        

        La colonna "P" viene manipolata più volte. Secondo me bisogna fare meglio il punto della situazione e capire in ogni colonna qual è il dato che riceverà, in quale forma e da dove proviene.

        Spiega meglio tutti i passaggi.

         

        #54250 Score: 0 | Risposta

        LukeReds
        Partecipante
          19 pts

          le formule sono di per sè "automatiche", come mai vorresti sostituirle con il vba?

          #54251 Score: 0 | Risposta

          Frasubb
          Partecipante
            1 pt

            Ciao Luke, vorrei automatizzarle con il vba per non correre il rischio accidentale di cancellarle

            #54257 Score: 0 | Risposta

            LukeReds
            Partecipante
              19 pts

              ciao,

              ok, potresti anche proteggere le celle con formule in modo da evitare la cancellazione accidentale

              #54258 Score: 0 | Risposta

              alexps81
              Moderatore
                58 pts

                @frasubb puoi dare risposte alle mie domande nel post #54248

                Ad ogni modo hai 3 file identici in 3 discussioni diverse e tutte puntanto a modifiche diverse della stessa macro.

                Credo che sia meglio seguire una cosa per volta altrimenti ti ritrovi con modifiche su modifiche.

                #54261 Score: 0 | Risposta

                Frasubb
                Partecipante
                  1 pt

                  ok, potresti anche proteggere le celle con formule in modo da evitare la cancellazione accidentale

                  ciao Luke Si certo, ma se proteggo le celle contenenti le formule, non devo poi bloccare il foglio e quindi a quel punto non mi funzionano più le macro ?

                  #54262 Score: 0 | Risposta

                  LukeReds
                  Partecipante
                    19 pts

                    nella macro c'è l'istruzione per toglere il blocco al foglio, poi si esegue quanto serve, infine con un'altra istruzione si ripirstina il blocco. Quindi vero quanto dici la la sub toglie e rimette il blocco

                    #54263 Score: 0 | Risposta

                    Frasubb
                    Partecipante
                      1 pt

                      A quale macro ti riferisci ?

                      a me non sembra di averne con queste istruzioni

                      #54266 Score: 0 | Risposta

                      LukeReds
                      Partecipante
                        19 pts

                        no nessuna macro, spiegavo come utilizzare una sub quando il foglio è protetto

                      Login Registrati
                      Stai vedendo 10 articoli - dal 1 a 10 (di 10 totali)
                      Rispondi a: formule da celle a Vba
                      Gli allegati sono permessi solo ad utenti REGISTRATI
                      Le tue informazioni: