Excel e gli applicativi Microsoft Office Concatena con 2 condizioni

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

    Dodi
    Partecipante
      2 pts

      Buon pomeriggio a tutti,

      è possibile ottenere un codice (formula) che concatena in un'unica cella più operai, attrezzature ecc. ec..?

      con 2 condizioni?

      -) data 

      -) Centro di Costo

      mi spiego meglio,

      ho un foglio DATI,

      dove imposto i centro di costo e il relativo gruppo di appartenenza, (1-2-3-4-5 ecc ecc)  una volta inserito i centri di costo, questi si trascrivono in automatico nel foglio Giornale_Lavori, nella cella F1-G1-H1-I1, e fin qui nessun problema,

      poi vado a compilare  con una maschera d’inserimento il foglio ARCHIVIO,

      e fin qui sempre tutto OK.

      Ora quello che mi serve; se possibile, è avere nel foglio Giornale_Lavori  il risultato che ho ricreato con le immagini.

      Mi servirebbe un codice che vada a pescare nel foglio ARCHIVIO in base al giorno e al centro di costo (Manodopera – Bes_Attrezzature – Noleggi – Subappalti) e me li concatena e mi da il risultato da me semplificato con un immagine.

       

      Tutto ciò mi permette di creare un giornale lavori a necessità della committenza.

       

      Quindi servirebbe un codice che:

      “se” la data dell’archivio è uguale alla data del giornale lavori, “concatena” il tutto in base al centro di costo e me li dispone come da esempio nel foglio (Giornale_Lavori)

       

       

      Spero di esser stato chiaro e che sia possibile ottenere una cosa del genere.

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

      vecchio frac
      Senior Moderator
        272 pts

        Dodi ha scritto:

        Quindi servirebbe un codice che:

        Bè hai esposto il problema e ti sei anche dato la soluzione   
        Non ti resta che tradurre tutto in codice (se vuoi farlo via codice). Con formule credo si possa fare a colpi di MATR.SOMMA.PRODOTTO o qualche altra diavoleria più moderna che conosce solo Gianfranco 

        Edit (altrimenti sembra un post troppo secco): nessun problema a guidarti nel farlo. Ma a meno di grosse sorprese, per come l'ho capita io non ci sono grandi difficoltà

         

        #38945 Score: 0 | Risposta

        vecchio frac
        Senior Moderator
          272 pts

          Nel tuo file di esempio, se un codice gruppo corrisponde sempre al medesimo centro di costo, hai una facilitazione in più (maneggiare codici numerici è di solito più semplice e meno a rischio errore).

          #38946 Score: 0 | Risposta

          Dodi
          Partecipante
            2 pts

            ciao Vecchi Frac. 

            si posso sostituire il centro di costo con il Gruppo nessun problema, ma mi resta sempre il fatto di capire se riesco a gestire il tutto con una formula o con un codice VBA (macro) 

            cosa mi suggerisci? 

            e te ne sarei grato se intanto mi proponi un codice da applicare a un tasto sul foglio Giornale lavori. 

            poi se interviene Gianfranco con una formula provo a vedere cosa mi agevola di più il lavoro.

             

            grazie per la risposta intanto.  

             

             

            #38947 Score: 0 | Risposta

            gianfranco55
            Partecipante
              91 pts

              ciao

              mi serve sapere la versione excel che hai

              poi vediamo

              #38948 Score: 0 | Risposta

              Dodi
              Partecipante
                2 pts

                ciao Gianfranco, 

                ho la versione 365 

                 

                #38949 Score: 0 | Risposta

                vecchio frac
                Senior Moderator
                  272 pts

                  Dodi ha scritto:

                  se intanto mi proponi un codice

                  Ci ho già iniziato a lavorare, ma niente di trascendentale:
                  spazzolo le celle di colonna B del foglio Giornale lavori,
                  filtro la colonna A di archivio per ogni data che trovo,
                  recupero le colonne dati che mi servono dal foglio filtrato,
                  concateno le stringhe,
                  le copio dove servono.
                  Insomma, a grandi linee dovrebbe filare liscio 🙂

                   

                   

                  #38950 Score: 0 | Risposta

                  gianfranco55
                  Partecipante
                    91 pts

                    ciao

                    in F2 la tiri a destra e in basso

                    =TESTO.UNISCI(CODICE.CARATT(10);;FILTRO(ARCHIVIO!$D$2:$D$1000;(ARCHIVIO!$M$2:$M$1000=F$1)*(ARCHIVIO!$B$2:$B$1000=$B2)))

                     

                    adegua o la larghezza colonna o la dimensione carattere o devo in tervenire sugli spazi

                     

                    senza il 365 è lo stesso fattibile ma bisognerebbe sapere quante persone/lavori ecc ci sono al massimo

                    e verrebbe una formula mostruoscamente lunga usando aggrega() perciò è consigliato il VBA

                    #38951 Score: 0 | Risposta

                    Dodi
                    Partecipante
                      2 pts

                      ciao Ginafranco 

                      una volta copiato la tua formula mi da errore e mi evidenzia la parola FILTRO. 

                      poi per quanto riguarda :

                      "adegua o la larghezza colonna o la dimensione carattere o devo intervenire sugli spazi"

                      se si riesce con la formula a mandare a Capo in automatico senza adeguare la cella o dimensioni caratteri, 

                      perchè i nomi non hanno la stessa lunghezza o stesso numero di caratteri. 

                      poi invece: 

                       bisognerebbe sapere quante persone/lavori ecc ci sono al massimo

                      anche in questo caso non sempre uso lo stesso numero di persone, 

                      ma può variare da 2 a 15/20 persone. (insomma mai un numero costante.

                      Avevo intuito che forse era meglio un codice VBA su un modulo e creare un tasto sul foglio Giornale Lavori. 

                      intanto ti ringrazio, e se mi togli l'errore provo a studiarlo e capirci qualcosa, e provo ad adattare facendo delle prove, 

                      e se il buon Vecchio Frac mi propone un codice VBA sarei grato e curioso di capire come risolvere il mio quesito. 

                       

                      grazie mille ancora

                      resto intanto in attesa di formula funzionante

                       

                       

                      anche 

                       

                      #38952 Score: 0 | Risposta

                      gianfranco55
                      Partecipante
                        91 pts

                        ciao se hai il 365 FILTRO c'è e funziona

                        visto che l'ho usato   

                        vedi se leggi il mio file

                        per il resto erano solo spiegazioni

                        si può fare con formule ma viene un poema non è il tuo caso

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

                        Dodi
                        Partecipante
                          2 pts

                          Si funziona, 

                          ok grazie evidentemente a copiare la formula crea problemi, 

                           

                          ancora grazie. 

                          per ora sembra che fa quello che mi serve. 

                          come detto spero che vecchio Frac, 

                          mi proponga un codice VBA da caricare in un modulo e utilizzarlo con un tasto sul foglio Giornale Lavori. 

                          probabilmente nel suo silenzio sta elaborando qualcosa, 

                          e quando meno te lo aspetti ti piazza un carico da 11. 

                          Gianfranco ti ringrazio davvero tanto, 

                          saluti

                           

                           

                           

                           

                          #38955 Score: 0 | Risposta

                          gianfranco55
                          Partecipante
                            91 pts

                            ciao

                            per ora sembra che fa quello che mi serve. 

                            non  per ora....per sempre  

                            se poi vuoi il vba è un'altra cosa ma con il365/2021 si è molto

                            agevolati anche con le formule.

                             

                            #38956 Score: 0 | Risposta

                            vecchio frac
                            Senior Moderator
                              272 pts

                              Dodi ha scritto:

                              probabilmente nel suo silenzio sta elaborando qualcosa, 

                              O probabilmente non sono collegato   

                              Sono lusingato che riponi tanta fiducia e stima in me, ho già promesso che costruisco qualcosa ma non so quando perché ho altre cose da fare e quindi ci lavoro quando posso. Se la formula di Gianfranco fa il suo dovere, usa quella per essere produttivo... il codice VBA è meno veloce da mettere insieme e poi va testato a fondo. 

                              #38957 Score: 0 | Risposta

                              gianfranco55
                              Partecipante
                                91 pts

                                ciao

                                trentino sfaticato  

                                #38958 Score: 0 | Risposta

                                dodi

                                  bhe ripongo si fiducia in te, 

                                  anche perchè in altre situazioni mi hai tolto qualche castagna dal fuoco. 

                                  e devo dire che grazie  a voi tutti del forum ogni tanto curioseggio se trovo qualche quesito di atri utenti e cerco di carpire e  capire cose nuove,  

                                  poi mi diverto a fare gestionali che mi aiutano nel lavoro. 

                                   

                                  quindi vecchio  Frac resto in attesa di tuo suggerimento e codice da copiare su un modulo, e magari nella userform di inserimento dati sul foglio archivio posso richiamarlo con call e farlo andare in automatico ad aggiornarmi il tutto sul foglio Giornale Lavori da inviare alla DL. 

                                   

                                  grazie per la pazienza. 

                                   

                                   

                                  #38959 Score: 0 | Risposta

                                  vecchio frac
                                  Senior Moderator
                                    272 pts

                                    gianfranco55 ha scritto:

                                    trentino sfaticato

                                    Oh   

                                    dodi ha scritto:

                                    vecchio  Frac resto in attesa di tuo suggerimento e codice

                                    Ecco fatto, allego il file. Ho perso più tempo a commentare il codice che a farlo    quindi spero che apprezzerai lo sforzo.
                                    Puoi facilmente riutilizzare la Sub richiamandola da un pulsante. Però il tracciato del file deve restare quello del file di esempio, altrimenti devi rivedere i riferimenti (non ti sarà difficile, ho cercato di scrivere codice pulito).

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

                                    Dodi
                                    Partecipante
                                      2 pts

                                      buongiorno V.frac

                                      ho avuto modo solo ora di visionare la soluzione son codice vba 

                                      mi esce un errore di compilazione su questa parte di codice, mi dice variabile " i" 

                                      non definita,  

                                      For i = 3 To f.Areas.Count

                                      poi sto cercando di capire tutto quello che hai fatto , 

                                      quindi in vie brevi fai fare la stessa cosa che si fa con un filtro su data, per poi copiare tutti i dati filtrati in un unica cella concatenando i dati filtrati?

                                       

                                      bhe mi riesce difficile capire come cavolo fa a concatenare il tutto,

                                      cmq sto cercando di interpretarlo, ma come sempre, passami il termine, hai una mente criminale, COMPLIMENTI

                                      provo e riprovo a capire per bene il tuo codice ma mi viene il mal di testa.

                                      ci metterò giorni per capirlo per bene, 

                                      facendo prove spezzettando il codice e cercar di capire cosa fa realmente, 

                                       

                                      puoi vedere come mai mi da quell errore di compilazione?

                                       

                                      grazie mille come sempre. 

                                       

                                       

                                      #38963 Score: 0 | Risposta

                                      vecchio frac
                                      Senior Moderator
                                        272 pts

                                        Il codice è commentato passo passo, ci ho messo quasi più a commentarlo bene che a scriverlo 😀

                                        Dodi ha scritto:

                                        mi esce un errore di compilazione su questa parte di codice, mi dice variabile " i" 

                                        non definita,  

                                        Può essere, devo aver cambiato nome alla variabile senza dichiararla, ti basta un "Dim i as Long" a inizio codice (questo è il valore aggiunto di Option Explicit e meno male che è così).

                                        Dodi ha scritto:

                                        puoi vedere come mai mi da quell errore di compilazione?

                                         

                                        Però non era difficile risolvere, neh   

                                        #38964 Score: 0 | Risposta

                                        Aldo Ercolini
                                        Partecipante
                                          19 pts

                                          Mi permetto di rispondere io.

                                          vecchio frac ha semplicemente dimenticato di dichiarare una variabile.

                                          Essendo dichiarato in testa alla Macro Option Explicit, VBA controlla che tutte le variabili siano correttamente dichiarate.

                                          Quindi basta tu aggiunga DIM i as  Long

                                          Edit:

                                          Scusa Francesco, postato in contemporanea.

                                          #38965 Score: 0 | Risposta

                                          vecchio frac
                                          Senior Moderator
                                            272 pts

                                            Questo era un errore facilmente risolvibile.
                                            Più subdolo è capire perchè stamattina, facendo girare di nuovo la macro, si inchioda sul primo Worksheets("Giornale_Lavori").Range("A1").Select che trova.
                                            Risposta: se è attivo un foglio diverso, il metodo Select forza l'attivazione della cella A1 di un altro foglio e non funziona (a rigore bisognerebbe usare "Application.Goto foglio"). 
                                            Soluzione: l'istruzione è ininfluente e si può togliere. Serviva solo a rendere esteticamente immediato il raggiungere subito il foglio col risultato finale. Immagino che Dodi sappia farlo da sè.

                                            Poi vedo stamattina che non effettua correttamente un filtro sulle date (potrebbe esserci mescolanza di date e testo in forma di data? possibile ma allora perché ieri sera funzionava? differenze tra Excel 2007 che ho in ufficio e il mio Excel 2013 a casa? mah).
                                            Se capita anche a voi, suggerisco di modificare l'istruzione .AutoFilter field:=2, Criteria1:=CStr(ce) in .AutoFilter field:=2, Criteria1:=CDate(ce)

                                            #38966 Score: 0 | Risposta

                                            Dodi
                                            Partecipante
                                              2 pts

                                              Grazie mille per la vostra disponibilita'

                                              Per quanto riguarda la variabile non dichiarata ero riuscito a risolvere con un tentativo di aver copiato un altro Dim as long e avevo sostituito la i,

                                               

                                              Ancora grazie mille

                                              #38984 Score: 0 | Risposta

                                              GiuseppeMN
                                              Partecipante
                                                19 pts

                                                Buon pomeriggio;
                                                leggo solo ora, pensavo di utilizzare un Ciclo VBA "Select case".
                                                Può essere interessante?

                                                A disposizione.

                                                Giuseppe

                                                #38985 Score: 0 | Risposta

                                                vecchio frac
                                                Senior Moderator
                                                  272 pts

                                                  GiuseppeMN ha scritto:

                                                  Può essere interessante?

                                                  Certo che è interessante. Tutto lo è   

                                                  Posta pure la tua soluzione!   

                                                  #38986 Score: 0 | Risposta

                                                  Dodi
                                                  Partecipante
                                                    2 pts

                                                    Cioa Vecchi Frac. 

                                                    ho seguito le tue indicazioni ma mi va in errore su 

                                                    Worksheets("Giornale_Lavori").Range("A1").Select

                                                    puoi dare un occhio al file e vedi dove mi inceppo? 

                                                     

                                                    ho sotituito anche 

                                                    la stringa 

                                                    .AutoFilter field:=2, Criteria1:=CStr(ce) in .AutoFilter field:=2, Criteria1:=CDate(ce)

                                                     

                                                    ma niente. 

                                                    ti riallego il file

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

                                                    Dodi
                                                    Partecipante
                                                      2 pts

                                                      considera anche che il modulo lo lancio con un comando call da una userform, 

                                                      avendo come foglio attivo ARCHIVIO

                                                    Login Registrati
                                                    Stai vedendo 25 articoli - dal 1 a 25 (di 84 totali)
                                                    Rispondi a: Concatena con 2 condizioni
                                                    Gli allegati sono permessi solo ad utenti REGISTRATI
                                                    Le tue informazioni: