You are here:--[RISOLTO] Calcolo giorni per differenza date e trasferisce valori
[RISOLTO] Calcolo giorni per differenza date e trasferisce valori2019-02-20T15:17:01+02:00

Home Forum Domande su Excel Generale [RISOLTO] Calcolo giorni per differenza date e trasferisce valori

Tag: 

  • Autore
    Articoli
  • Avatarpaolots
    Partecipante
      Post totali: 7

      Eliminato testo

       

      • Questo argomento è stato modificato 7 mesi fa da BySalv BySalv.
    • BySalvBySalv
      Amministratore del forum
        Post totali: 510

        Ciao Purtroppo non si capisce niente del tuo Post puoi riformularlo senza usare formati particolari.

        Ciao By Sal :bye:

      • Avatarpaolots
        Partecipante
          Post totali: 7

          By Sal buongiorno. Mi dispiace per l’inconveneiente, credo sia dovuto al fatto che ho riportato il messaggio che avevo scritto in Word. Servirà per la prossima volta. Ora ripropongo il messaggio direttamente.

          Siccome devo trattare un archivio molto grosso, avrei anche tentato con diversi passaggi di “copia incolla” ed altro, ma la cosa sarebbe stata improba. Ed ecco qui la mia richiesta di aiuto che nasce sopratutto dalla poca dimestichezza con VBA. Attualmente utilizzo Office 2013. Per comodità, e spero vada bene, ho inserito in un unico archivio denominato FORUM, in due fogli, sia il file di input sia quello di output con il risultato desiderato.

          Il file di input è ordinato alfabeticamente per Cognome (col. B).

          1) Legge in sequenza i record del file “input” e per uguaglianza “cognome”(col. B) li memorizza.

          2) Per record con cognome differente si riposiziona sul primo record memorizzato:

          – calcola i giorni di differenza che intercorrono tra la data inizio(col.F) e la data fine (col.G) e li trasferisce nel campo “diff”(col.I);

          nel caso la data di inizio (col.F) sia mancante non si esegue il calcolo dei giorni(risultato invalido) e si trasferisce il valore “N” nel campo “diff” (col.I);

          – trasferisce nel campo “dd1” (col.I) la data presente in data fine (col.G).

          3) Nel caso ci sia un solo record per “cognome” (col.B) si ritorna al punto 1.

          4) Nel caso di più record uguali per “cognome” e dopo aver elaborato il primo record (punto 2):

          –  si riparte dal secondo record memorizzato, e fino al x.mo, si trasferisce a partire da “dd2” (col.K), in poi, il valore presente nel campo data fine (col.G)

          5)  Dopo il x.mo record si riparte dal punto 1.

          Spero nella correttezza dell’esposizione, ringrazio e saluto.

          Paolo

          http://www.filedropper.com/forum_6

           

        • BySalvBySalv
          Amministratore del forum
            Post totali: 510

            Ciao Paolots, ecco il file con la macro, la cosa importante che la colonna “B” sia ordinata alfabeticamente.

            questa la macro:

            Sub sviluppa()
            Dim r, c, x, d
            
            For x = 2 To Cells(Rows.Count, 2).End(xlUp).Row
                d = Cells(x, 2)
                If d <> Cells(x - 1, 2) Then
                    r = x
                    c = 10
                    If Cells(x, 6) = "" Then
                        Cells(x, 9) = "N"
                        Cells(x, 10) = Cells(x, 7)
                    Else
                        Cells(x, 9) = Cells(x, 7) - Cells(x, 6)
                        Cells(x, 10) = Cells(x, 7)
                    End If
                End If
                If d = Cells(x - 1, 2) Then
                    c = c + 1
                    Cells(r, c) = Cells(x, 7)
                End If
            Next x
            End Sub

            ti posizioni sul foglio e lanci la macro, l’ho legata ad i tasti “Control+p” oppure la lanci aprendo le macro con F8 si chiama “Sviluppa”

            questo il file ho aggiunto un foglio “Input1” per fare le prove

            http://www.filedropper.com/forum_7

            Ciao By Sal :bye:

          • Avatarpaolots
            Partecipante
              Post totali: 7

              [RISOLTO]Ciao By Sal.

              Innanzitutto grazie per la tempestiva risposta, e nuovamente complimenti per la competenza che ho riscontrato sempre ogni qualvolta ho chiesto il Vs. aiuto. Ora, dopo eseguiti i test tutto ok e funziona perfettamente. A me il compito di capire bene lo sviluppo del codice che mi hai inviato.

              Imposto il RISOLTO…alla prossima occasione…ed un saluto.

              Paolo

               

              • Questa risposta è stata modificata 7 mesi fa da Avatar paolots.
            • Avatarpaolots
              Partecipante
                Post totali: 7

                Ciao By Sal

                da quanto vedo credo di non aver eseguito per bene la procedura “RISOLTO”. Attivando “modifica” non mi è permesso di posizionarmi sul titolo del Post. Non ho capito dove sto sbagliando, ma l’intenzione era di inserire il risolto. Se è colpa mia mi scuso in anticipo.

                Ciao

                Paolo

                 

              • BySalvBySalv
                Amministratore del forum
                  Post totali: 510

                  Ciao Nessun Problema ci penso io

                   

                  Ciao By sal  :bye:

                Devi essere loggato per rispondere a questa discussione.

                Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

                Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

                Chiudi