Sviluppare funzionalita su Microsoft Office con VBA Popolamento Database tramite codice

Login Registrati
Stai vedendo 15 articoli - dal 76 a 90 (di 90 totali)
  • Autore
    Articoli
  • #45779 Score: 0 | Risposta

    alexps81
    Moderatore
      58 pts

         che peccato! Funzionava alla grande. Va be' appena riesco ritorno al metodo Workbooks.Open...ti aggiorno 

      #45780 Score: 0 | Risposta

      Ale.1989
      Partecipante

        Mi dispiace averti fatto tribolare per niente 😞

        #45782 Score: 0 | Risposta

        vecchio frac
        Senior Moderator
          272 pts

          Tutta esperienza per Alexps81   

          #45786 Score: 0 | Risposta

          alexps81
          Moderatore
            58 pts

            Ciao @Ale.1989,

            Non ti preoccupare, anzi (come dice VF)...tutta esperienza.

            ti rigiro i file aggiornati. Ricordati di modificare questa stringa:

            sFile = ThisWorkbook.Path & "\Elenco-Ordini-Aperti.xlsx"
            

            indicando quindi il percorso dove risiede il file Elenco-Ordini-Aperti.xlsx

            Fammi sapere se ci sono problemi.

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

            Ale.1989
            Partecipante

              Ciao Alex, funziona tutto alla grande, ma quando premo aggiorna ordine rame mi esce errore 9 se faccio debug evidenzia questa riga

              Sheets("Neri").Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous

              se torno sul primo foglio e ripremo lo stesso pulsante non mi da nessun errore    non capisco come possa funzionare se prima da errore

              Però da quello che ho visto il file elenco ordini aperti viene aggiornato anche se da errore....

              #45817 Score: 0 | Risposta

              alexps81
              Moderatore
                58 pts

                Che strano...a me funziona bene. Speriamo che non sia un altro problema legato alla versione MAC. Cmq che descrizione ti dà dell'errore? Errore nr. 9 ..............

                 

                 

                 

                #45818 Score: 0 | Risposta

                Ale.1989
                Partecipante

                  Al momento non dà più alcun errore,  continuo ad utilizzarlo e poi ti aggiorno per il momento ti ringrazio molto

                  #45828 Score: 0 | Risposta

                  Ale.1989
                  Partecipante

                    giusto per info mi esce indice fuori misura collegato all'errore 9....

                    Non me lo da sempre.... solo ogni tanto....

                    #45842 Score: 0 | Risposta

                    vecchio frac
                    Senior Moderator
                      272 pts

                      Ale.1989 ha scritto:

                      Non me lo da sempre.... solo ogni tanto....

                      Sempre sulla stessa riga di codice? Il foglio "Neri" esiste ed è scritto così? Ci sono componenti aggiuntivi aperti?

                      #45844 Score: 0 | Risposta

                      Ale.1989
                      Partecipante

                        No non ho nessun componente aggiuntivo, il foglio si chiama così.... Non mi spiego perché ogni tanto funziona ed ogni tanto no ...

                        #45848 Score: 0 | Risposta

                        alexps81
                        Moderatore
                          58 pts

                          Che strana sta cosa! Facciamo un tentativo....sostituisci tutta la Sub EsportaDati con questa modificata e vediamo se risolviamo:

                          Private Sub EsportaDati()
                          Dim wb As Workbook
                          Dim wsMR As Worksheet
                          Dim sFile As String
                          Dim arr As Variant
                          Dim i As Byte
                          Dim urNR As Long
                          
                          Application.ScreenUpdating = False
                          
                          sFile = ThisWorkbook.Path & "\Elenco-Ordini-Aperti.xlsx"
                          Set wsMR = ThisWorkbook.Worksheets("MASCHERA RICERCA")
                          
                          arr = Array("D2", "E2", "G11", "K26", "K35", "K6", "K8", "M37")
                              
                          Set wb = Workbooks.Open(sFile)
                          
                          With wb.Sheets("Neri")
                              urNR = .Cells(Rows.Count, "A").End(xlUp).Row
                              
                              For i = LBound(arr) To UBound(arr)
                                  .Cells(urNR + 1, i + 1).Value = wsMR.Range(arr(i)).Value
                              Next i
                                  
                              .Columns("H").NumberFormat = "d-mmm"
                              With .Columns("A:H")
                                  .Font.Name = "Calibri"
                                  .Font.Size = 10
                                  .HorizontalAlignment = xlCenter
                                  .VerticalAlignment = xlCenter
                              End With
                              .Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
                          End With
                          
                          wb.Save
                          wb.Close
                          
                          Application.ScreenUpdating = True
                          
                          Set wb = Nothing: Set wsMR = Nothing
                          
                          End Sub
                          #46031 Score: 0 | Risposta

                          Ale.1989
                          Partecipante

                            Aggiornamenti, ho provato a immettere il codice che Mi hai indicato, se metto quello l'errore che compare è 

                            " errore di compilazione

                            incongruenza di tipo"

                            Se continuo a lavorare con il vecchio codice funziona ma ogni 2 o 3 volte che premo mi esce l'errore 9 e se vado in debuggo evidenzia sempre la riga

                            Sheets("Neri").Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous

                            C'è da dire che nonostante questo errore il file Elenco Ordini Aperti viene comunque aggiornato.

                            Ciao a tutti

                            #46048 Score: 0 | Risposta

                            alexps81
                            Moderatore
                              58 pts

                              Mah...   è proprio una cosa stranissima. I due codici alla fine sono identici solo che nel secondo i riferimenti al foglio Sheets("Neri") non li ripeto ma li lascio gestire all'istruzione With wb.Sheets("Neri") messa in monte del trasferimento dei dati...tutto qua.

                              Per l'altra errore sulla linea di codice: Sheets("Neri").Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous

                              rimane un mistero pure questo.

                               

                              Alla fine quel trafiletto di codice non fa altro che applicare il bordo a tutte le celle circostanti alla cella A1 del foglio Neri.

                              In pratica andando ad inserire dei nuovi dati, poi viene applicato il bordo. A questo punto prova a toglierla quella linea di codice e vediamo se risolviamo. Tutt'al più o ti tieni i nuovi inserimenti senza bordo, oppure potresti prima applicare il bordo a tutte le colonne interessate (operazione da fare una sola volta).

                              Giusto per capire se è veramente quello il problema oppure risiede altrove.

                              #46049 Score: 0 | Risposta

                              alexps81
                              Moderatore
                                58 pts

                                Magari prova a fare questa ulteriore prova. Togli quella parte di codice Sheets("Neri").Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous e aggiungi queste:

                                .Range("A" & urNR + 1 & ":" & "H" & urNR + 1).Borders.LineStyle = xlContinuous
                                

                                subito dopo il ciclo  

                                For i = LBound(arr) To UBound(arr)
                                .Cells(urNR + 1, i + 1).Value = wsMR.Range(arr(i)).Value
                                Next i

                                e prima di Columns("H").......

                                Vedi se così ti crea problemi.

                                #46054 Score: 0 | Risposta

                                Ale.1989
                                Partecipante

                                  Al momento ho apportato le modifiche per adesso non da nessun errore, e la copia file viene eseguita correttamente   

                                Login Registrati
                                Stai vedendo 15 articoli - dal 76 a 90 (di 90 totali)
                                Rispondi a: Popolamento Database tramite codice
                                Gli allegati sono permessi solo ad utenti REGISTRATI
                                Le tue informazioni: