Excel e gli applicativi Microsoft Office estrazione valori da cartella A su selezione in cella con convalida da elenco

Login Registrati
Stai vedendo 25 articoli - dal 76 a 100 (di 121 totali)
  • Autore
    Articoli
  • #7203 Risposta

    vecchio frac
    Moderatore
      24 pts

      Nuova revisione. Adesso nell'userform iniziale puoi scegliere lo stato lavorazione. Le medesime voci della lavorazione si trovano anche nel file modello che mediante convalida dati pesca le informazioni dalla cella AA1.

      Riallego i tre file:

      - il modello (con l'elenco dinamico in AA1 per gli stati delle lavorazioni. Se li cambi devi allineare anche il codice del file successivo, trovi tutto nell'evento Initialize dell'Userform)

      - il file con la macro

      - il file scadenzario. Attenzione! per funzionare correttamente la colonna STATO LAVORAZIONE deve avere formato generale e non Data altrimenti salta tutto 🙂

       

      Allegati:
      You must be logged in to view attached files.
      #7212 Risposta

      rs4464
      Partecipante

        Ciao VF, ho provato ad inserire una seconda tipologia di beneficiari per un file codice ente già creato ma non si genera il foglio di lavoro e il codice va in errore. Con l'occasione ti chiedo anche se, volendo variare ed aumentare il numero di stati lavorazione sia sufficiente allargare l'elenco di convalida o si debba ricreare nella Gestione nomi un intervallo più ampio .

        Ti ringrazio come sempre per la pazienza e la disponibilità

        #7214 Risposta

        vecchio frac
        Moderatore
          24 pts

          rs4464 wrote:sufficiente allargare l'elenco di convalida

          Sì, devi soltanto aggiungere nomi all'elenco perchè ho creato una convalida dati dinamica, quindi l'elenco chiamato "=stato" si aggiusta in funzione delle voci presenti nell'elenco. Ripeto che se modifichi tali voci devi allineare in conformità anche il contenuto dell'array nel codice dello userform.

          In merito all'altro problema

          rs4464 wrote:per un file codice ente già creato ma non si genera il foglio di lavoro e il codice va in errore.

          farò una verifica (che errore ricevi?). Dovrebbe aprirsi il file già creato e aggiungersi un foglio nuovo rinominato come il beneficiario. Questa sarebbe la logica. Ammetto che non ho fatto molti test 🙂

          #7215 Risposta

          rs4464
          Partecipante

            L'errore è sulla seguente riga di codice che non riesce ad essere eseguita :

            wb.Sheets("Inserire beneficiari (2)").Delete

            In realtà non esiste ancora un foglio con questo nome da cancellare .

            Un dettaglio che forse sarebbe , se fattibile , il caso di modificare è il seguente : selezionando un cliente esistente , far apparire solo le tipologie di beneficiari appartenenti a lui e non , come nel caso di Nuovo Cliente , l' elenco completo dello scadenzario . Che ne pensi ?

            #7217 Risposta

            vecchio frac
            Moderatore
              24 pts

              rs4464 wrote:non esiste ancora un foglio

              O meglio, esisteva però è stato rinominato quindi non esiste più 🙂 ok, vedrò di aggiustare questa cosa.

              rs4464 wrote:selezionando un cliente esistente , far apparire solo le tipologie di beneficiari appartenenti a lui

              ritengo che sia logico pretendere questo. Devo andare a guardare come si comporta il codice in questo caso. Spero di metterci mano entro stasera 🙂

              #7234 Risposta

              vecchio frac
              Moderatore
                24 pts

                Ecco, allego la revisione 5 del file, da provare. Credo di aver sistemato le osservazioni fatte   

                Allegati:
                You must be logged in to view attached files.
                #7253 Risposta

                rs4464
                Partecipante

                  Buongiorno, ho provato la nuova revisione, questi i risultati:

                  - aprendo il nuovo cliente va in errore run-time 5 " Chiamata di routine o argomento non validi "sulla riga di codice " Load UserForm1 "

                  -aprendo il Cliente esistente, dopo aver scelto il file da lavorare, nella finestra della Userform2 dove dovrei scelgo i beneficiari da lavorare, il codice tenta comunque la creazione del file con lo stesso nome anziché salvare la modifica ( accade anche nel caso in cui si inserisca nel file una nuova tipologia di beneficiari invece che, come dovrebbe, creare solo un nuovo foglio all'interno del file ) .

                  #7263 Risposta

                  vecchio frac
                  Moderatore
                    24 pts

                    rs4464 wrote:aprendo il nuovo cliente va in errore run-time 5

                    Pare strano ma è bastato anticipare un'istruzione.

                    Private Sub CommandButton2_Click()
                    'nuovo cliente
                        isNew = True
                        Set wb = Workbooks.Add(ThisWorkbook.Path & "\model.xlsx")
                        With UserForm1
                            .ComboBox1 = "NUOVO"
                            .Show
                        End With
                    End Sub

                     

                    rs4464 wrote:il codice tenta comunque la creazione del file con lo stesso nome

                    Questo devo verificarlo meglio.

                    E' un parto difficile 🙂

                    #7264 Risposta

                    vecchio frac
                    Moderatore
                      24 pts

                      Ho fatto le modifiche e ho fatto dei test con le opzioni possibili. Allego la nuova versione. Prosegui pure con i test 🙂

                       

                      Allegati:
                      You must be logged in to view attached files.
                      #7506 Risposta

                      rs4464
                      Partecipante

                        Buongiorno, scusami per il ritardo nella risposta ma mi ero perso la tua ultima nuova versione. Ho provato e questi sono i risultati:

                        - sulla lavorazione di un Nuovo cliente il codice si ferma sulla riga " cn.Execute s " dopo aver cliccato sul bottone " Inserisci i dati "

                        - sulla lavorazione di un Cliente esistente su una tipologia non ancora inserita  il codice si ferma sulla stessa riga " cn.Execute s " dopo aver cliccato sul bottone " Inserisci i dati "

                        - sulla lavorazione di un Cliente esistente in aggiornamento stato lavorazione di una tipologia già inserita il comportamento è lo stesso ed  il codice si ferma sempre sulla stessa riga " cn.Execute s " dopo aver cliccato sul bottone " Inserisci i dati " .

                        Saluti

                         

                        Roberto Simoncini

                        #7511 Risposta

                        vecchio frac
                        Moderatore
                          24 pts

                          Molto strano e inquietante, perchè a me non succede.

                          Rifaccio le verifiche e poi studiamo l'ambiente di test che magari non coincide più.

                          #7524 Risposta

                          vecchio frac
                          Moderatore
                            24 pts

                            Continuo a non riscontrare gli errori che incontri...

                            Tu dici che il codice si ferma sulla riga " cn.Execute s " ma io vorrei sapere se ottieni anche qualche messaggio o codice di errore.

                            In compenso, controllando il progetto, mi sono accorto (e ho sistemato) alcuni problemi in fase di creazione dei nuovi fogli.

                            Allego la nuova versione 7 e riallego i file necessari al funzionamento (tutti e tre devono stare nella stessa cartella).

                            Allegati:
                            You must be logged in to view attached files.
                            #7533 Risposta

                            rs4464
                            Partecipante

                              Ciao VF, si comincia davvero a delineare il prodotto finito.

                              Ancora qualche "stranezza", nel caso di creazione di un nuovo foglio di lavoro all'interno di un cliente esistente, viene fuori un errore (nome già esistente) sul nome "status" Cliccando su "SI" poi lo crea con il nome corretto.

                              Ancora, su alcuni clienti, sia lavorando a nuovo che su cliente esistente in modifica dello stato lavorazione, non aggiorna lo stato sulla base dati scadenzario (es. cliente 92125).

                              Prova un po'....

                              Buonanotte e grazie ancora

                              #7534 Risposta

                              rs4464
                              Partecipante

                                una cosa l'ho beccata io....dai, almeno una piccola soddisfazione...

                                non funzionava nei nomi dove c'erano dei doppi apici, tipo il cliente 92125 oppure il 92111. Tolti i doppi apici dalla descrizione del cliente nello scadenzario va come un fulmine.

                                Resta il conflitto sul nome status.

                                Buonanotte

                                #7538 Risposta

                                vecchio frac
                                Moderatore
                                  24 pts

                                  rs4464 wrote:non funzionava nei nomi dove c'erano dei doppi apici

                                  Questi apici rappresentano sempre un problema, ma non dovresti essere costretto a modificare la base dati, il codice deve essere in grado di gestire la situazione. Ora vedo di risolvere anche il problema che hai descritto sullo status.

                                  #7541 Risposta

                                  vecchio frac
                                  Moderatore
                                    24 pts

                                    rs4464 wrote:Resta il conflitto sul nome status

                                    Ho capito il problema, è l'elenco dinamico sulle voci dello "status" che è definito nella pagina "inserire beneficiari" del model.xlsx; questa pagina poi viene copiata e rinominata col nome del "beneficiario" e si genera quindi un conflitto di nomi e di indirizzi. Risolverò creando una pagina nascosta che contiene l'elenco (però quando vorrai aggiornare questo elenco dovrai scoprire la pagina nel model, fare la modifica, rinascondere la pagina, salvare e chiudere il model)

                                    #7542 Risposta

                                    rs4464
                                    Partecipante

                                      Il problema sullo status nell'ambiente di lavoro ( dove il codice dovrà girare ) non è emerso, mi accadeva ieri sera sul computer di casa. Quindi al momento lascerei stare. Sarebbe forse più interessante, se possibile, riuscire a far trattare anche le stringhe contenenti i doppi apici. Comunque posso già dirti, ho provato stamani sommariamente al lavoro, che la cosa sembra girare davvero bene!

                                      #7543 Risposta

                                      rs4464
                                      Partecipante

                                        Lascia stare al momento il problema dello status. Probabilmente nelle opzioni di Excel o da qualche altra parte c'è qualcosa, diverso dall'ambiente da dove si è manifestato il problema, che riesce a non far emergere il problema.

                                        #7544 Risposta

                                        vecchio frac
                                        Moderatore
                                          24 pts

                                          Allego la versione 8 del progetto per tua verifica.

                                          Ho risolto il problema del conflitto con il nome "status" tra i fogli (spero) e ho risolto il problema della mancata registrazione dello status nello scadenzario per i nomi contenenti le virgolette (quindi non semplici apici).

                                          rs4464 wrote:si comincia davvero a delineare il prodotto finito

                                          Speriamo   

                                          Allegati:
                                          You must be logged in to view attached files.
                                          #7546 Risposta

                                          rs4464
                                          Partecipante

                                            Quindi devo usare modello_VF8.xlsm , model-2.xlsx e scadenzario-4.xlsx .

                                            Sbirciando nel codice ho visto dei riferimenti a model , devo quindi rinominare model-2 in model e scadenzario-4 in scadenzario , presumo . . . .

                                            #7547 Risposta

                                            vecchio frac
                                            Moderatore
                                              24 pts

                                              rs4464 wrote:presumo

                                              Presumi giusto, accade che in questo forum tutti i file vengono conservati in un'unica cartella sul server e se ci sono più file con lo stesso nome (e quindi conflitti di nomi), vengono rinumerati automaticamente dal sistema. In realtà nella tua cartella avrai sempre il file base con la macro (e puoi chiamarlo come vuoi, io aggiungo un numero di revisione solo per avere l'ultima sottomano), il file model.xlsx e il file scadenzario.xlsx.

                                              #7548 Risposta

                                              rs4464
                                              Partecipante

                                                Mi dispiace davvero tediarti così ma rispetto alla VF7 la VF8 va in errore di run-time '9' ( Indice non incluso nell'intervallo). All'interno della sezione 'nuovo cliente', dopo le istruzioni "isNew = True" e "Set wb = Workbooks.Add..." si ferma su "With UserForm1". Una curiosità, quei doppi rettangoli colorati sotti ai bottoni sono solo estetici ?

                                                 

                                                #7549 Risposta

                                                vecchio frac
                                                Moderatore
                                                  24 pts

                                                  rs4464 wrote:Mi dispiace davvero tediarti così ma rispetto alla VF7 la VF8 va in errore di run-time '9' ( Indice non incluso nell'intervallo). All'interno della sezione 'nuovo cliente', dopo le istruzioni "isNew = True" e "Set wb = Workbooks.Add..." si ferma su "With UserForm1". Una curiosità, quei doppi rettangoli colorati sotti ai bottoni sono solo estetici ?

                                                  Non mi stai "tediando" affatto 🙂

                                                  Purtroppo a me non dà errore e quindi finchè non sistemiamo le cose in modo omogeneo bisogna continuare a sentirsi.

                                                  Ho aggiunto un rettangolo blu più scuro sotto un rettangolo blu chiaro solo per simulare un gradevole effetto ombra che sei liberissimo di modificare a tuo gusto 😀

                                                  #7550 Risposta

                                                  vecchio frac
                                                  Moderatore
                                                    24 pts

                                                    vecchio frac wrote:si ferma su "With UserForm1".

                                                    In prima battuta, hai preso l'ultimo file "model" ?

                                                    Lo riallego qui perchè lo vedo sparito tra gli allegati al post precedente. S eha un nome diverso da "model.xlsx", rinominalo così.

                                                    Allegati:
                                                    You must be logged in to view attached files.
                                                    #7552 Risposta

                                                    rs4464
                                                    Partecipante

                                                      E' perfetto !

                                                      Sono però costretto a chiederti una cosa che non avevo messo in preventivo perché non ero a conoscenza delle altre basi dati scadenzario che invece mi hanno sottoposto di recente. In una di queste ci sono, per uno stesso cliente, più righe contenenti lo stesso beneficiario aventi però dettagli differenti ( ad es. i Beneficiari "Medici" possono avere come Dettaglio "Guardia Medica" , "Medicina Generale" oppure "Specialisti". La creazione del nuovo foglio all'interno del file cliente deve quindi avvenire, non solo nel caso di Beneficiario mai trattato bensì della coppia "Beneficiario-Dettaglio" mai trattato. La chiave diventa quindi più selettiva.

                                                    Login Registrati
                                                    Stai vedendo 25 articoli - dal 76 a 100 (di 121 totali)
                                                    Rispondi a: estrazione valori da cartella A su selezione in cella con convalida da elenco
                                                    Gli allegati sono permessi solo ad utenti REGISTRATI
                                                    Le tue informazioni:



                                                    vecchio frac - 829 risposte

                                                    albatros54
                                                    albatros54 - 516 risposte

                                                    Marius44
                                                    Marius44 - 282 risposte

                                                    patel
                                                    patel - 264 risposte

                                                    Luca73
                                                    Luca73 - 235 risposte