Sviluppare funzionalita su Microsoft Office con VBA inserire dati in riga aggiuntiva

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

    Frasubb
    Partecipante
      1 pt

      Ciao a tutti,

      ho aggiunto delle label nella userform1 e collegate alla TxtCodiceConto che nella medesima user mi fa vedere il risultato del CercaVert rispettivamente nelle label "LabelCoordinateBanca" e "labelCoordiantePosteIT". Questi stessi valori, però, non me li trasferisce nel foglio di lavoro.

      Per più precisione, il valore della label CoordinateBanca va inserito nella riga aggiuntiva della colonna H, mentre quello della label CoordinatePosteIT nella riga aggiuntiva della colonna J. 

      Mi potete aiutare per favore ?

      Grazie mille

      Allego file esempio

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

      alexps81
      Moderatore
        58 pts

        Ciao @frasubb,

        io sono sempre più convinto che ti stai buttando in un ginepraio pieno di insidie. Lavorare su doppia riga è tremendo...poi lo rendi ancora più difficile con le celle unite. Secondo me più andrai avanti per questa strada e più sarà complicato aiutarti. Mi rendo conto che per te adesso tornare indietro e rifare tutto da capo non è semplice. Ma ritengo che questo tuo lavoro andava strutturato in maniera diversa. I Fogli dovrebbero accogliere in modo tabellare solo i dati grezzi (senza formattazioni particolari), poi attraverso UserForm e con l'utilizzo degli Oggetti dedicati, quali ListBox, ComboBox e TextBox, si va ad interrogare il Foglio, estrapolando i dati per poi manipolarli e riversarli di nuovo sul Foglio. Quindi niente 1 foglio per mese o 1 foglio per anno...basta 1 foglio, che contiene oltre 1 milione di righe...penso che sia sufficiente per diversi anni. A quel punto tu vai a lavorare solo attraverso le UserForm, senza mai vedere Fogli.

        Comunque vediamo se risolviamo almeno per adesso questo tuo problema...con la speranza che non andiamo a rovinare altrove:

        in Private Sub cmdInvia_Click() ad un certo punto rimpiazza questo:

            arr(nRows + 1, 8) = CoordinateBanca
            arr(nRows + 1, 9) = CoordinatePosteIT

        con questo:

            arr(nRows + 1, 8) = LabelCoordinateBanca 'H
            arr(nRows + 1, 10) = LabelCoordinatePosteIT 'J
        

        Poi proseguendo...nel Bubble Sort:

        dove trovi temp1(2, 9) = arr(r + 1, 9) lo rimpiazzi con temp1(2, 9) = arr(r + 1, 10)

        poi dove trovi arr(r + 1, 9) = arr(c + 1, 9) lo rimpiazzi con arr(r + 1, 9) = arr(c + 1, 10)

        poi dove trovi arr(c + 1, 9) = temp1(2, 9) lo rimpiazzi con arr(c + 1, 9) = temp1(2, 10)

        Vedi un po' se risolvi...ma il mio consiglio è di snellire tutta la logica ricostruendo la struttura come suggerito.

        #54692 Score: 0 | Risposta

        LukeReds
        Partecipante
          19 pts

          ma non poi scrivere i dati direttamente sul foglio excel, senza passare da userform, e controllarli man mano? Ti semplifichi, di molto, la vita

          #54693 Score: 0 | Risposta

          Frasubb
          Partecipante
            1 pt

            Ciao @alexps81, grazie come sempre per la tua disponibilità, consigli e soluzioni !

            Ho provato ad apportare le modifiche da te suggerite, anche disunendo le celle, ma non funziona, ovvero non mi trascrive i dati nelle colonne.

            Ho pensato allora ad un'altra cosa, ovvero creare un Commandbutton "ad hoc" (CmdConferma) solo per convalidare, ed inserire, le info relative alle coordinate, e funziona. Ho inserito una call nel Cmd_Invia ("inserisci" nella userform1) così da cliccare un unico pulsante.

            Ora però, l'unico problema è che in sede di inserimento di nuovo record, sempre tramite user, questi soli dati delle coordinate me li inserisce in fondo al foglio, ovvero alla prima riga vuota e non in quella relativa al nominativo che sto aggiungendo.

            Visto che "quasi" ci siamo ... pensi che si può risolvere ?

            Allego file esempio

            Grazie mille

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

            Frasubb
            Partecipante
              1 pt

              @lukereds si certo che posso, ma è solo per un gusto, certamente opinabile, di poter emulare un software

              #54696 Score: 1 | Risposta

              LukeReds
              Partecipante
                19 pts

                ok più che legittimo   

                #54697 Score: 0 | Risposta

                alfrimpa
                Partecipante
                  33 pts

                  Frasubb ha scritto:

                  e non in quella relativa al nominativo che sto aggiungendo.

                  Quando tramite una userform inserisci un nominativo (ed altri dati) su un foglio due sono le ipotesi:

                  1) Il nominativo non è presente sul foglio ed in tal caso va inserito alla prima riga libera

                  2) Il nominativo è già presente quindi gli altri dati vanno inseriti (in altre colonne) sulla stessa riga

                  Puoi usare il metodo Find col quale puoi gestire entrambe le evenienze.

                  Qui trovi una guida completa del metodo Find.

                  https://excelmacromastery.com/excel-vba-find/

                  P.S. Ma perchè nel file ci sono 35 moduli nella maggior parte dei quali vi è una sola macro?

                  Non sai che in un modulo puoi metterci quante macro vuoi?

                  #54698 Score: 0 | Risposta

                  Frasubb
                  Partecipante
                    1 pt

                    @alfrimpa grazie per il tuo suggerimento.

                    1) Il nominativo non è presente sul foglio ed in tal caso va inserito alla prima riga libera

                    Questo è il mio caso, dove però tutti i dati scritti  nella user vengono esattamente inseriti nel foglio in ordine alfabetico, mentre quelli relativi alle coordinate mi vanno in fondo al foglio.

                    Perchè questa differenza tra le due cose ?

                    #54699 Score: 0 | Risposta

                    alfrimpa
                    Partecipante
                      33 pts

                      Frasubb ha scritto:

                      Questo è il mio caso, dove però tutti i dati scritti  nella user vengono esattamente inseriti nel foglio in ordine alfabetico, mentre quelli relativi alle coordinate mi vanno in fondo al foglio.

                      Vuoi fare un esempio del risultato da ottenere con un file semplice con un un solo foglio (con 3/4 record), una sola userform con le textbox ed un commandbutton ed il codice associato al commandbutton che ti dà il problema?

                      Vuoi pubblicare il codice che ti dà il risultato errato?

                      Francamente dal tuo file (che non contiene dati) e contiene decine di moduli, migliaia di righe di codice personalmente non ho capito nulla.

                      #54700 Score: 0 | Risposta

                      Frasubb
                      Partecipante
                        1 pt

                        Scusa la domanda: ma perché nella stragrande maggioranza delle volte, rispondi sempre in maniera “piccata” ?

                        Nella #54693 il file allegato annovera 3 nominativi (foglio “Marzo”) quindi pochi come da te richiesto, non ho detto che mi da errore ma semplicemente che mi scrive i dati in fondo al foglio.

                         Per quanto concerne il commandbutton, è sempre tutto già scritto chiaramente nella #54693, post al quale mi hai pure risposto (#54697).

                         Comunque Grazie, lascia stare, risolverò autonomamente o documentandomi sulla rete

                        #54701 Score: 0 | Risposta

                        alfrimpa
                        Partecipante
                          33 pts

                          Al post 54699 avevo chiesto di vedere il codice che dava il risultato errato ci voleva molto che lo scrivessi qui?

                          Frasubb ha scritto:

                          Comunque Grazie, lascia stare, risolverò autonomamente o documentandomi sulla rete

                          Non c'è nessun problema; buona fortuna.

                        Login Registrati
                        Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
                        Rispondi a: inserire dati in riga aggiuntiva
                        Gli allegati sono permessi solo ad utenti REGISTRATI
                        Le tue informazioni: