You are here:Home-Domande su Excel VBA e MACRO-prelevare dati di un nominativo
prelevare dati di un nominativo2021-04-21T11:05:31+02:00

Home Forum Domande su Excel VBA e MACRO prelevare dati di un nominativo

Visualizzazione 7 filoni di risposte
  • Autore
    Post
    • raimearaimea
      Partecipante
        Post totali: 78

        ciao

        tramite una macro vorrei prelevare dei dati

        per compilare il fgl   singolo.

         

        vorrei prelevare tutti i dati

        rigurdanti il nome  in cella D4 del fgl singolo

        prelevare tutto dal fgl generale

        riguardante tale nominativo.

        i dati da riportare sono da col C a col J

         

        vi allego il file

        https://www.dropbox.com/s/6u23ozcrf95w33p/singolo.rar?dl=0

         

        ciao

         

      • AvatarKris_9951
        Partecipante
          Post totali: 212

          Ciao Raimea!

          Prova questa soluzione:
          https://www.dropbox.com/s/ufc6z1tqsg4s3v3/singolo_2.xlsm?dl=0

          Fai sapere (se vuoi) :bye: :bye:

          Option Explicit
          Option Compare Text
          
          Sub nomi(nome As String)
              Dim vOrigine() As Variant
              Dim vMatrNome() As Variant
              Dim vDalAl() As Variant
              Dim vTipo() As Variant
              Dim x As Long, j As Long
              Dim btrovato As Boolean
              vOrigine = Sheets("generale").Range("B7:I" & Sheets("generale").Cells(Rows.Count, 3).End(xlUp).Row).Value
              
              For x = LBound(vOrigine) To UBound(vOrigine)
                  If vOrigine(x, 3) = nome Then
                      btrovato = True
                      j = j + 1
                      ReDim Preserve vMatrNome(1 To 2, 1 To j + 1)
                      vMatrNome(1, j) = vOrigine(x, 2)
                      vMatrNome(2, j) = vOrigine(x, 3)
          
                      ReDim Preserve vDalAl(1 To 2, 1 To j + 1)
                      vDalAl(1, j) = Format(CDate(vOrigine(x, 5)), "dd/mm/yyyy")
                      vDalAl(2, j) = Format(CDate(vOrigine(x, 6)), "dd/mm/yyyy")
                      
                      ReDim Preserve vTipo(1 To 1, 1 To j + 1)
                      vTipo(1, j) = vOrigine(x, 8)
                  End If
              Next x
              
              If btrovato Then
                  vMatrNome = Application.Transpose(vMatrNome)
                  vDalAl = Application.Transpose(vDalAl)
                  vTipo = Application.Transpose(vTipo)
                  
                  With Sheets("singolo")
                      .Range("C7:D21, F7:G21, I7:I21").ClearContents
                      .Range("C7").Resize(UBound(vMatrNome), 2).Value = vMatrNome
                      .Range("F7").Resize(UBound(vDalAl), 2).Value = vDalAl
                      .Range("I7").Resize(UBound(vTipo), 2).Value = vTipo
                  End With
              Else
                  MsgBox nome & " non è stato trovato!", vbCritical, "ERRORE!"
              End If
          End Sub
          
        • raimearaimea
          Partecipante
            Post totali: 78

            ciao

            quasi ok

            la macro riporta i dati da fgl generale

            ma in maniera errata x una colonna.

             

            i dati di col J fgl generale devono essere

            riportati uguali   pari-pari,

             

            attualmente in fgl singolo col J

            scrive la stessa cosa che trova in col I

            e NON come col J di fgl generale

             

            poi NON riporta il contenuto delle colonne  E  H di fgl  generale

             

            ciao

            • Questa risposta è stata modificata 3 settimane, 1 giorno fa da raimearaimea.
          • AvatarKris_9951
            Partecipante
              Post totali: 212

              Ah ok…

              Io ho visto le colonne colorate di giallo, in più ho visto delle formule e quindi ho pensato che quelle celle non andavano toccate.

              Ad ogni modo correggo.

              Quindi deve essere copiato tutto identico al foglio generale, corretto?

            • raimearaimea
              Partecipante
                Post totali: 78

                ciao

                si riportare tutto   pari_pari

                grazie

                 

                ciao

                • AvatarKris_9951
                  Partecipante
                    Post totali: 212

                    Ultima domanda:

                    necessariamente VBA oppure vanno bene anche le formule?

                    Credo che puoi ottenere lo stesso risultato anche con le formule…

                • raimearaimea
                  Partecipante
                    Post totali: 78

                    ciao

                    VBA

                    avrei preferito su comando di pulsante

                    ma va bene anche cosi,    come l hai impostato tu.

                     

                    grazie

                    • AvatarKris_9951
                      Partecipante
                        Post totali: 212

                        File modificato e disponibile sempre al solito link.

                        Ho messo anche l’avvio da pulsante così poi scegli il modo che preferisci.

                        Fai sapere (se vuoi) :bye: :bye:

                    • raimearaimea
                      Partecipante
                        Post totali: 78

                        ciao

                        tutto ok

                        ottimo

                         

                        grazie mille

                      • AvatarKris_9951
                        Partecipante
                          Post totali: 212

                          Alla prox 👍

                      Visualizzazione 7 filoni di risposte
                      • Devi essere connesso per rispondere a questo topic.