Sviluppare funzionalita su Microsoft Office con VBA copia incolla dati riferiti alla data di oggi

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

    Frasubb
    Partecipante
      1 pt

      ciao a tutti,

      vorrei che i nominativi presenti nel range B4:B500 e i corrispondenti importi presenti nel range L4:L500, tutti riferiti alla data "oggi", siano copiati ed incollati nella colonna Q (nominativi) e R (importo rata) premendo il tasto "filtro oggi".

      Allego file esempio.

      Chi mi aiuta ? Grazie mille in anticipo

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

      alexps81
      Moderatore
        58 pts

        Nel file che hai allegato, in colonna "L" non c'è alcun importo e in colonna "Q" non c'è l'etichetta "NOMINATIVI" così come in colonna "R" (anzi qui è presente la scritta "gen" e al rigo sotto una formula)

        Ad ogni modo hai provato tu ad imbastire un codice? Ti basta creare un ciclo For sulla colonna delle date e confrontare la data con la data di oggi.

        #53143 Score: 0 | Risposta

        Frasubb
        Partecipante
          1 pt

          Grazie Alex, ma non ho ben chiaro cosa mi chiedi di fare.

           Ecco perché ho chiesto umilmente aiuto

           

           

          #53144 Score: 0 | Risposta

          alexps81
          Moderatore
            58 pts

            Frasubb ha scritto:

             Ecco perché ho chiesto umilmente aiuto

            Si ok, ma resta il fatto che non è chiaro cosa devi "copiare" e dove "incollare"?

            #53145 Score: 0 | Risposta

            Raffaele53
            Partecipante
              24 pts

              In base a quanto scritto nel 1° post

              Sub Copia()
              Dim Ur As Long, X As Long
              Ur = Range("B" & Rows.Count).End(xlUp).Row
                  For X = 4 To Ur
                      If Cells(X, 14) = Date Then
                          Cells(X, 17) = Cells(X, 2)
                          Cells(X, 18) = Cells(X, 12)
                      End If
                  Next X
              End Sub
              #53146 Score: 0 | Risposta

              Frasubb
              Partecipante
                1 pt

                alexps81 ha scritto:

                Frasubb ha scritto:

                 Ecco perché ho chiesto umilmente aiuto

                provo a spiegarmi di nuovo:

                i nominativi presenti in colonna B, partendo dalla riga 4, fino a B500, insieme agli importi inseriti nella colonna L (a B4 corrisponde l’importo L4 e così via), premendo il pulsante che ho creato, devono essere copiati ed incollati a partire da Q13 per i nominativi e R13 per i rispettivi importi, a patto che nomi e relativi importi siano riferiti alla data di “oggi”.

                 Spero di esserci riuscito

                #53147 Score: 0 | Risposta

                alexps81
                Moderatore
                  58 pts

                  Frasubb ha scritto:

                  a partire da Q13 per i nominativi e R13

                  Adesso incomincia ad avere più senso   

                  La macro di raffaele53 l'hai provata/adattata?

                  Magari per il tuo scopo la modificherei così:

                  Sub Copia()
                      Dim Ur As Long, X As Long, j As Long
                  
                      Ur = Range("B" & Rows.Count).End(xlUp).Row
                      j = 13
                      For X = 4 To Ur
                          If Cells(X, 14) = Date Then
                              Cells(j, 17) = Cells(X, 2)
                              Cells(j, 18) = Cells(X, 12)
                              j = j + 1
                          End If
                      Next X
                  End Sub

                  N.B. Fai attenzione che molte celle in colonna "R" hanno il colore del carattere nero e perciò si sovrasta con il nero della cella, a quel punto non vedi ciò che è scritto.

                  #53148 Score: 0 | Risposta

                  Frasubb
                  Partecipante
                    1 pt

                    Grazie Alex e grazie Raffaele.

                     Non ho provato nessuna delle vostre soluzioni perché sono distante dal mio pc.

                     Le provo domani e vi relaziono su entrambe.

                     Grazie ancora !

                    #53151 Score: 0 | Risposta

                    Frasubb
                    Partecipante
                      1 pt

                      Scusate, ho dimenticato una cosa, ovvero avere la medesima funzione descritta sopra, però che copi e incolli nelle colonne T i nominativi ed U gli importi, tutti corrispondenti a date precedenti ad “oggi”.

                       Il tutto, da incollare sempre a partire da riga 13 ed ovviamente con altri command button.

                      È possibile ?

                       Grazie

                      #53152 Score: 0 | Risposta

                      alexps81
                      Moderatore
                        58 pts

                        Ma quindi è una seconda macro? Che copia solo i valori con data inferiore ad oggi?

                        Hai provato le macro suggerite? Hai capito il loro funzionamento? Se ci pensi un attimo ciò che chiedi è molto simile alle macro proposte. Devi solo modificare il confronto che si fa con la funzione "Date" da "=" a "<" e le colonne 17 e 18 in "T" e "U

                        Prova, vedi se riesci e caso mai pubblica la soluzione.

                        #53153 Score: 0 | Risposta

                        LukeReds
                        Partecipante
                          19 pts

                          ciao

                          togliendo le celle unite, sub che ottiene entrambi gli elenchi

                           

                          Sub CopiaDati()
                          Dim r As Integer, r1 As Integer, r2 As Integer
                          Range("Q3:U1000").Clear
                          r1 = 3: r2 = 3
                          For r = 3 To Range("B" & Rows.Count).End(xlUp).Row
                             If Cells(r, "N") = Date Then
                                Cells(r1, "Q") = Cells(r, "B"): Cells(r1, "R") = Cells(r, "L")
                                r1 = r1 + 1
                             ElseIf Cells(r, "N") < Date Then
                                Cells(r2, "T") = Cells(r, "B"): Cells(r2, "U") = Cells(r, "L")
                                r2 = r2 + 1
                              
                             End If
                          Next r
                          End Sub
                          #53155 Score: 0 | Risposta

                          Frasubb
                          Partecipante
                            1 pt

                            alexps81 ha scritto:

                            Devi solo modificare il confronto che si fa con la funzione "Date" da "=" a "<" e le colonne 17 e 18 in "T" e "U

                            ciao Alex,

                            ho modificato (forse) come tu mi hai detto ma la seconda macro, ovvero quella delle date antecedenti ad oggi, non funziona.

                            Allego file, dove sbaglio ?

                            Grazie mille

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

                            Frasubb
                            Partecipante
                              1 pt

                              LukeReds ha scritto:

                              ciao

                              togliendo le celle unite, sub che ottiene entrambi gli elenchi

                              Ciao Luke,

                              ho provato ma funziona solo per le date "oggi" e non per quelle scadute, ovvero < di OGGI

                              #53158 Score: 1 | Risposta

                              Frasubb
                              Partecipante
                                1 pt

                                Frasubb ha scritto:

                                ho modificato (forse) come tu mi hai detto ma la seconda macro, ovvero quella delle date antecedenti ad oggi, non funziona

                                chiedo scusa Alex, non avevo cambiato le date nella colonna N.

                                Ora tutto funziona alla perfezione, grazie mille

                                #53159 Score: 0 | Risposta

                                LukeReds
                                Partecipante
                                  19 pts

                                  ciao,

                                  mi risulta tutto corretto

                                   

                                  Allegati:
                                  You must be logged in to view attached files.
                                Login Registrati
                                Stai vedendo 15 articoli - dal 1 a 15 (di 15 totali)
                                Rispondi a: copia incolla dati riferiti alla data di oggi
                                Gli allegati sono permessi solo ad utenti REGISTRATI
                                Le tue informazioni: