Excel e gli applicativi Microsoft Office Tabella ripeilogativa di pagamenti presenti in un altro file excel

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

    Umby67
    Partecipante

      Salve a tutti,

      ho bisogno del vostro aiuto per creare una tabella riepilogativa (file Riepilogo Importo Carta da ricevere) che deve prendere le informazioni presenti nei vari files dell'anno (ho allegato di esempio solo un mese 01-Gennaio) utile a sapere, scegliendo le informazioni di ricerca qual è il valore da ricevere.

      Il file 01-Gennaio è composto da vari fogli che rappresentano i 30 giorni del mese e in ciascun giorno sono inseriti i pagamenti di ciascun tavolo suddivisi per importo, il codice tipo di carta usata ed é presente a destra un riepilogo totale per ciascun tipo di carta con la relativa data per ricevere importo netto considerando se è credito a 30 giorni, se è debito a 1 giorno (per fare il calcolo della data ho usato una tabella trovata in rete che fa il calcolo del primo giorno utile di pagamento).

      Il file Riepilogo Importo Carta da ricevere deve acquisire dai files mesi per ciascun giorno:

      - data movimento del giorno (presente nel riepilogo a destra del file del mese)

      - tipo operatore delle carte di credito (casella a discesa)

      - tipo di carta (Visa, MasterCard, etc.) con la funzione di convertire il codice presente nel file in tipo di carta

      - importo lordo ricevuto

      - % tassa applicata dalla carta (presente nel riepilogo a destra)

      - % di anticipazione credito (presente nel riepilogo a destra)

      - importo netto (lordo - %tassa applicata - %anticipazione)

      - data di ricevimento importo netto (secondo il calcolo presente riepilogo a destra del file mese)

      - la possibilità di fare ricerca per periodo, per tipo di carta, etc.

      NB: capita che per lo stesso tavolo ci sono pagamenti diversi con varie carte, quindi la possibilità di creare nella tabella varie righe per ciascun pagamento effettuato.

      Spero di essere stato chiaro nella descrizione ma sono a vostra disposizione per ulteriori informazioni.

      Vi ringrazio per l'eventuale aiuto.

      Windows 10 - Excel 2021

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

      Raffaele53
      Partecipante
        21 pts

        Perchè il files 01-Gennaio non è scritto in Italiano?

        Credo che: DATA MOVIMENTO = sia nomefoglio-gennaio, mà di quale anno?
        Per tutte le altre "voci" non sò dove trovarle, pertanto scrivi da quali colonna prelevare i dati?
        DATA MOVIMENTO =colonna?
        OPERAT. =colonna?
        TIPO CARTA =colonna?
        IMPORTO LORDO =colonna?
        % TASSA APPLICATA =colonna?
        % ANTICIP. =colonna?
        IMPORTO NETTO =colonna?
        DATA RICEV. =colonna?
        Oppure riallega il files Riepilogo con inserito a mano i dati del giorno 1-2-3

        #45336 Score: 0 | Risposta

        Umby67
        Partecipante

          Ciao @Raffaele23, grazie per la risposta.

          Perchè il files 01-Gennaio non è scritto in Italiano? io mi trovo all'estero per questo vedi alcune scritte in portoghese, ma ti ho tradotto il file 01-Gennaio in italiano e lo allego di nuovo.

          Credo che: DATA MOVIMENTO = sia nomefoglio-gennaio, mà di quale anno? considera 2024, io poi faccio gli anni precedenti
          Per tutte le altre "voci" non sò dove trovarle, pertanto scrivi da quali colonna prelevare i dati? le trovi nel file 01-Gennaio nelle seguenti celle
          DATA MOVIMENTO =colonna? CELLA AA11
          OPERAT. =colonna? CELLA U12
          TIPO CARTA =colonna? sono i codici di riferimento di ciascun tipo di carta. Per esempio il giorno 1 nel tavolo 20 ho il codice 8 (cella C3) che si riferisce a VISA CREDITO, il codice 9 (cella E3) del pagamento successivo é MAESTRO e cosí via per tutti i pagamenti degli altri tavoli.
          IMPORTO LORDO =colonna? es. tavolo 20 trovi nella cella D3 il primo importo e nella cella F3 l'altro importo. Di conseguenza bisogna generare due righe differenti nel riepilogo essendo due pagamenti diversi.
          % TASSA APPLICATA =colonna? dipende dal tipo di carta - celle da X3 a X20
          % ANTICIP. =colonna? celle da Y13 a Y17
          IMPORTO NETTO =colonna? bisogna fare la formula (IMPORTO LORDO - %TASSA APPLICATA - %ANTICIP.)
          DATA RICEV. =colonna? bisogna fare la formula come ho fatto nelle celle da AA13 a AA20 usando il file Feriados Dias Uteis) che praticamente ti cerca il primo giorno lavorativo successivo utile considerando i 30 giorni se é CREDITO e 1 giorno se é DEBITO.

          Ti ho inserito nel file "Riepilogo Importo Carta da ricevere" come deve apparire.

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

          Raffaele53
          Partecipante
            21 pts

            Domani ci provo. Alcune Domande...(tutti gli altri mesi sono uguali?)

            Pertanto Tavolo20 = 2 righe (2 carte differenti), Tavolo27 = 2 righe (1 somma D6+F6) + 2 riga per carta differente. Euro 100 in col "O"6 non si deve considerare? Riguardo TASSA APPLICATA-ANTICIP-DATA RICEV. mi riferirò ai dati presenti in U12:AA21 in base al numero di carta. Giusto OK?

            Mettimi il rispettivo numero delle Carte
            VISA CREDITO
            MC CREDITO
            ELO CREDITO
            DINERS
            AMEX
            8 VISA DEBITO
            9 MAESTRO
            ELO DEBITO
            PIX

            Ps. Posso eliminare riga1,2,3,9,10,11,12,13 in Riepilogo?
            Pps. Questo Riepilogo dovrà contenere una sola annata intera oppure dovrà contenere diverse annate?

            #45347 Score: 0 | Risposta

            Umby67
            Partecipante

              .(tutti gli altri mesi sono uguali?) SI

              Pertanto Tavolo20 = 2 righe (2 carte differenti), due righe differenti

              Tavolo27 = 2 righe (1 somma D6+F6) + 2 riga per carta differente. sono 3 righe perché sono state usate 3 transazioni di carte differenti. Tavolo 30 sono 4 righe differenti perché sono state usate 4 transazioni di carte

              Euro 100 (magari fossero euro , moneta di qua R$ real brasiliano, dividi gli importi per 5,5 e avrai gli importi in euro) in col "O"6 non si deve considerare? NO il contante non mi interessa nel Riepilogo.

              Riguardo TASSA APPLICATA-ANTICIP-DATA RICEV. mi riferirò ai dati presenti in U12:AA21 in base al numero di carta. Giusto OK? SI

              Mettimi il rispettivo numero delle Carte
              VISA CREDITO - 3
              MC CREDITO - 4
              ELO CREDITO - 5
              DINERS - 11
              AMEX - 12
              VISA DEBITO - 8
              MAESTRO - 9
              ELO DEBITO - 10
              PIX - 15 (adesso é gratuito, ma potrebbero esserci in futuro costi di addebito). Ho letto che stanno pensando di farlo anche in Italia. (PIX = pagamento instantaneo)

              Ps. Posso eliminare riga1,2,3,9,10,11,12,13 in Riepilogo? il file Riepilogo é un esempio, puoi crearlo come meglio credi
              Pps. Questo Riepilogo dovrà contenere una sola annata intera oppure dovrà contenere diverse annate? vorrei iniziare dal 2023 in poi. Ma se crei il 2024 io poi faccio il 2023 e gli anni futuri, cosí ho sotto controllo la situazione di tutti gli anni.

              Obiettivo principale di questo Riepilogo é controllare se l'Operatore (GetNet) mi trasferisce gli importi esatti delle transazioni fatte e anche avere una previsione di quanto incasserò nel periodo scelto.  Ho inserito la cella Operatore perché oggi lavoro con GetNet ma se in futuro si propone un altro operatore che offre tassi migliori cambio Gestore. Per questo motivo i codici delle carte non hanno una numerazione progressiva, perché prima avevo un altro Operatore (Cielo) con codici diversi.

              #45361 Score: 0 | Risposta

              Raffaele53
              Partecipante
                21 pts

                Ho lavorato con 01-Gennaio-Esempio-1.xlsx, l'altro
                01-Gennaio.xlsx è senza OPERATORE e i nomi delle carte sono differenti

                Creato il codice per un solo mese, provalo e dimmi se ci sono problematiche (se Ok, farò per un'annata intera).

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

                Umby67
                Partecipante

                  ho aggiornato il file Gennaio, ho inserito una casella a discesa sulla cella Operatore, così attualizza i tassi e la quantità di giorni per le carte di credito in base all'operatore scelto.

                  Il calcolo dell'importo netto non é corretto, non sta togliendo la percentuale della tassa. Nel caso di debito ha sottratto 1 centesimo solo invece che il 0,69% stessa cosa nel credito non ha sottratto 1,69%.

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

                  Raffaele53
                  Partecipante
                    21 pts

                    Pertanto l'importo netto =IMPORTO LORDO - (IMPORTO LORDO * TASSA APPLICATA)
                    Adesso c'è pure la colonna = "DIAS" (devo farci un calcolo).Quale?

                    #45367 Score: 0 | Risposta

                    Umby67
                    Partecipante

                      DIAS significa GIORNI che sarebbero il numero di giorni per pagare (Credito a 30gg - Debito a 1gg)

                      il calcolo dell'importo netto é IMPORTO LORDO - %TASSA - %ANTICIPAZIONE DEL CREDITO (nel caso scegliessi questa opzione, se opto per l'anticipazione il numero di giorni passa da 30 al primo giorno utile di pagamento) ma il calcolo già c’è per questa opzione.

                      Ho notato un errore nel file nuovo Gennaio che ti ho allegato nel precedente post, nel fare copia e incolla ha riportato come data di movimento in tutti i giorni 01/01 invece che avere date differenti. Questo nel fare il database ti darà per tutti i movimenti data 01/01. Ti allego il file corretto.

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

                      Raffaele53
                      Partecipante
                        21 pts

                        >>>ma il calcolo già c’è per questa opzione.
                        Non capisco cosa intendi e dove sia il calcolo?

                        >>>il calcolo dell'importo netto é IMPORTO LORDO - %TASSA - %IMPORTO LORDO - (IMPORTO LORDO * TASSA APPLICATA) DEL CREDITO
                        L'allegato in post #45361 lo faceva e hai detto che era errato
                        In Riepilogo-Importo-Carta-da-ricevere-1.xlsx hai scritto cella G14 =D15-(D15*E15) =298,43 che è esattamente quello che mi risulta nell'allegato
                        Importo netto =IMPORTO LORDO - ((IMPORTO LORDO * TASSA APPLICATA)+ANTICIPAZIONE)

                        Ps. Meglio che usi solo Sub Importa_Mese, è presente pure Sub Importa_annata ma mettere i files in una cartella e avviare il VBa non gestisci bene tutti gli errori. Quando importi un mese (controlli il tutto) e poi fai altro mese

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

                        Umby67
                        Partecipante

                          nel primo file che mi avevi dato stava calcolando errato, ma adesso sta ok  

                          nel foglio ricerca mi sta dando errore nella cella IMPORTO NETTO, manca il riferimento alla cella, ti ho allegato l'immagine.

                          Solo per capire, dopo che ho inserito il mese nel D_Base, quale bottone di quelli che hai creato devo premere per importare nel foglio di Ricerca? uno specifico o uno qualsiasi?

                          Dopodiché per filtrare i dati, devo inserire le date Dal - AL che sta al lato destro? dove sta scritto "non funziona".

                          Ho una variazione da chiederti, invece di aspettare la fine del mese, è possibile farlo l'inserimento dei dati nel D_Base giornalmente? Perché cosi come è impostato non riesco a fare il controllo degli importi da ricevere durante il mese, lo posso fare solo a fine mese. Alternativa ancora migliore, è possibile farlo in automatico? Tutte le volte che inserisco i pagamenti di un tavolo di un determinato giorno, automaticamente registra nel D_Base.

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

                          Raffaele53
                          Partecipante
                            21 pts

                            In Ricerca metti in cella G2 =SUBTOTALE(9;INDIRETTO("G5:G"&CONTA.VALORI(I:I)+3))
                            Ps. Vai sul Bottone "CARTA" (mouse destro) ed assegna la macro Sub Carta()

                            >>> Alternativa ancora migliore<<< Ci devo pensare sopra

                            >>>Solo per capire...
                            Nel foglio Ricerca devi solo compilare una delle celle "colorate giallo o arancione" e poi premere il bottone relativo.
                            Ex compilo B2 e premo Operatore, compilo J2 e premo Anno

                            Nel VBA, Modulo2 cancella Sub DAL_AL() e metti questa

                            Sub DAL_AL()
                            Dim Ur As Long, Data1 As Long, Data2 As Long
                            Data1 = Range("K2")
                            Data2 = Range("L2")
                            Ur = Range("A" & Rows.Count).End(xlUp).Row
                            If Ur > 4 Then Range("A5:J" & Ur).Clear
                            If Sheets("Ricerca").FilterMode = True Then Sheets("Ricerca").ShowAllData
                            If Range("K2") = "" Or Range("L2") = "" Then MsgBox "Scegliere una DATA in cella K2 + altra DATA in cella L2"
                            Ur = Sheets("D_Base").Range("A" & Rows.Count).End(xlUp).Row
                                Sheets("D_Base").Range("A1:J" & Ur).Copy Destination:=Worksheets("Ricerca").Range("A4")
                                Sheets("Ricerca").Range("A4:J4").AutoFilter
                                Sheets("Ricerca").Range("$A$4:$J$" & Ur).AutoFilter Field:=1, Criteria1:=">=" & Data1, Operator:=xlAnd, Criteria2:="<=" & Data2
                            End Sub
                            #45444 Score: 0 | Risposta

                            Raffaele53
                            Partecipante
                              21 pts

                              Se hai scadenze a 30 giorni, cosa serve avere un riepilogo oggi?

                              Secondo me bisogna usare due files Mese+Riepilogo (non saprei cosa fare d'altro)
                              Riepilogo, ogni mese importi i dati, qui avrai il resoconto totale dei anni passati e futuri.
                              Mese, ho aggiunto due fogli (D_base + Ricerca) ed ogni giorno puoi aggiornare il foglio D_Base. NB In "Ricerca" ho aggiunto la Tabella dei festivi, questa funziona appena metti una Data in foglio-01 cella AB11. Secondo me, nel foglio-01 in cella AB13 la formula per il primo giorno utile (nel caso non vada bene usa quella in AC13, idem per cella AB18-AC18). Da complettare tutti gli altri giorni del mese. Adesso Feriados-Ano-calcolo-dia-util.xlsx non serve più

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

                              Umby67
                              Partecipante

                                Se hai scadenze a 30 giorni, cosa serve avere un riepilogo oggi? Mi serve il giornaliero per fare il controllo delle CARTE DI DEBITO che sono a 1 giorno

                                Adesso Feriados-Ano-calcolo-dia-util.xlsx non serve più Stavo usando questa tabella perché ha la possibilità di inserire le Feste Comunali/Patronali che nel tuo calcolo credo non sono comprese. Considerando che le Feste Comunali sono differenti per ciascuna città. Devo verificare se per gli Operatori delle Carte di Credito/Banche, la festa comunale é considerata per loro giorno utile o festivo.

                                Do un'occhiata a questi nuovi files.

                                Ti ringrazio per la tua disponibilità.  

                                 

                                #45466 Score: 0 | Risposta

                                Raffaele53
                                Partecipante
                                  21 pts

                                  >>>Stavo usando questa tabella perché ha la possibilità di inserire le Feste Comunali/Patronali che nel tuo calcolo credo non sono comprese

                                  Sei sicuro, ci sono 8 celle in Ricerca Q19:Q26 prova qualsiasi data...
                                  =DATA(anno;mese;giorno) Naturalmente ANNO è in $Q$4

                                  #45520 Score: 0 | Risposta

                                  Umby67
                                  Partecipante

                                    @raffaele53 quando puoi, per favore mi correggi questa macro per inserire nel D_Base il singolo giorno del mese. Cosí come sta scritta non sta funzionando. Grazie

                                    `Sub Importa_Giorno()
                                        Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("D_Base")
                                        Dim Sh As Worksheet, wK As Workbook
                                        Dim Ur As Long, Ur1 As Long, Rr As Long, X As Long, Y As Long, aAnno As Integer
                                        Dim fPath As String, sName As String, sName2 As String, Rg As Object, sFile As FileDialog, cCart() As Variant, Scart As String
                                        
                                        Application.ScreenUpdating = False
                                        Application.DisplayAlerts = False
                                        
                                        ' Array contenente le categorie di carta
                                        cCart = Array("0-nd", "1-nd", "2-nd", "VISA CREDITO", "MC CREDITO", "ELO CREDITO", "6-nd", "7-nd", "VISA DEBITO", "MAESTRO", "ELO DEBITO", "DINERS", "AMEX", "13-nd", "14-nd", "PIX")
                                        
                                        ' Ultima riga della tabella di destinazione per i dati importati
                                        Ur = ws.Range("A" & Rows.Count).End(xlUp).Row + 1
                                        
                                        ' Seleziona il file da importare
                                        sName = Application.GetOpenFilename("File Excel (*.xls*), *.xls*")
                                        If sName <> "Falso" Then
                                            Workbooks.Open (sName)
                                            sName2 = ActiveWorkbook.Name
                                            Set wK = Workbooks(sName2)
                                            
                                            ' Ciclo su ogni foglio del file importato
                                            For Each Sh In wK.Worksheets
                                                ' Trova l'ultima riga con dati nella colonna B del foglio corrente
                                                Ur1 = Sh.Range("B" & Rows.Count).End(xlUp).Row
                                                ' Ottiene l'anno dalla cella AB11 del foglio corrente
                                                aAnno = Year(Sh.Range("AB11").Value)
                                                
                                                ' Ciclo su ogni riga del foglio corrente
                                                For X = 3 To Ur1
                                                    ' Ciclo su ogni colonna dal 3 al 13 (a passi di 2) del foglio corrente
                                                    For Y = 3 To 13 Step 2
                                                        ' Se la cella corrente è vuota, esci dal ciclo interno
                                                        If Sh.Cells(X, Y) = "" Then Exit For
                                                        
                                                        ' Scrivi i dati nella tabella di destinazione
                                                        ws.Cells(Ur, 1) = Sh.Range("AB11").Value
                                                        ws.Cells(Ur, 2) = Sh.Range("U12").Value
                                                        Scart = cCart(Sh.Cells(X, Y))
                                                        Set Rg = Sh.Range("U13:U21").Find(Scart, LookIn:=xlValues, LookAt:=xlWhole)
                                                        If Rg Is Nothing Then
                                                            ws.Cells(Ur, 3) = Scart
                                                        Else
                                                            Rr = Rg.Row
                                                            ws.Cells(Ur, 3) = Scart
                                                            ws.Cells(Ur, 4) = Sh.Cells(X, Y + 1)
                                                            ws.Cells(Ur, 5) = Sh.Range("X" & Rr)
                                                            ws.Cells(Ur, 6) = 0 + Sh.Range("Z" & Rr)
                                                            ws.Cells(Ur, 7) = ws.Cells(Ur, 4) - ((ws.Cells(Ur, 4) * ws.Cells(Ur, 5)) + ws.Cells(Ur, 6))
                                                            ws.Cells(Ur, 8) = Sh.Range("AB" & Rr).Value
                                                            ws.Cells(Ur, 9) = Ur - 1
                                                            ws.Cells(Ur, 10) = aAnno
                                                        End If
                                                        Ur = Ur + 1
                                                    Next Y
                                                Next X
                                            Next Sh
                                            wK.Close False
                                        End If
                                        
                                        ' Pulizia delle variabili e ripristino delle impostazioni dell'applicazione
                                        Set Rg = Nothing
                                        Set ws = Nothing
                                        Set Sh = Nothing
                                        Set wK = Nothing
                                        Application.ScreenUpdating = True
                                        Application.DisplayAlerts = True
                                        MsgBox "Fatto"
                                    End Sub`
                                    #45526 Score: 0 | Risposta

                                    Raffaele53
                                    Partecipante
                                      21 pts

                                      Perchè non funziona (a me sembra giusto), forse Vuoi importare i dati di UN solo giorno? Non sarebbe ideale perchè soggetto ad vari errori Tuoi (salti la giornata oppure due volte nello stesso giorno). Come gìà scritto, onestamente non saprei come fare (ci vorrebbe un codice univoco). Ci proverò

                                      Ho modificato il codice, adesso crea un codice univoco (spero sia funzionale). Pertanto puoi aggiornare quando Vuoi, il VBA controlla se è già presente (non importa) e in caso contrario lo importa

                                      Option Explicit
                                      Sub Importa_Giorno()
                                          Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("D_Base")
                                          Dim Sh As Worksheet, wK As Workbook
                                          Dim Ur As Long, Ur1 As Long, Rr As Long, X As Long, Y As Long, aAnno As Integer
                                          Dim fPath As String, sName As String, sName2 As String, Scart As String, Sid As String
                                          Dim Rg1 As Object, Rg2 As Object, sFile As FileDialog, cCart() As Variant
                                          
                                          Application.ScreenUpdating = False
                                          Application.DisplayAlerts = False
                                          
                                          ' Array contenente le categorie di carta
                                          cCart = Array("0-nd", "1-nd", "2-nd", "VISA CREDITO", "MC CREDITO", "ELO CREDITO", "6-nd", "7-nd", "VISA DEBITO", "MAESTRO", "ELO DEBITO", "DINERS", "AMEX", "13-nd", "14-nd", "PIX")
                                          
                                          ' Ultima riga della tabella di destinazione per i dati importati
                                          Ur = ws.Range("A" & Rows.Count).End(xlUp).Row + 1
                                          
                                          ' Seleziona il file da importare
                                          sName = Application.GetOpenFilename("File Excel (*.xls*), *.xls*")
                                          If sName <> "Falso" Then
                                              Workbooks.Open (sName)
                                              sName2 = ActiveWorkbook.Name
                                              Set wK = Workbooks(sName2)
                                              
                                              ' Ciclo su ogni foglio del file importato
                                              For Each Sh In wK.Worksheets
                                                  ' Trova l'ultima riga con dati nella colonna B del foglio corrente
                                                  Ur1 = Sh.Range("B" & Rows.Count).End(xlUp).Row
                                                  ' Ottiene l'anno dalla cella AB11 del foglio corrente
                                                  aAnno = Year(Sh.Range("AB11").Value)
                                                  
                                                  ' Ciclo su ogni riga del foglio corrente
                                                  For X = 3 To Ur1
                                                      ' Ciclo su ogni colonna dal 3 al 13 (a passi di 2) del foglio corrente
                                                      For Y = 3 To 13 Step 2
                                                          Sid = Sh.Range("AB11").Value & "_" & CDbl(Sh.Name) & "_" & X & "_" & Y
                                                          Set Rg1 = ws.Columns("I:I").Find(Sid, LookIn:=xlValues, LookAt:=xlWhole)
                                                          If Rg1 Is Nothing Then
                                                              ' Se la cella corrente è vuota, esci dal ciclo interno
                                                              If Sh.Cells(X, Y) = "" Then Exit For
                                                                  ' Scrivi i dati nella tabella di destinazione
                                                                  ws.Cells(Ur, 1) = Sh.Range("AB11").Value
                                                                  ws.Cells(Ur, 2) = Sh.Range("U12").Value
                                                                  Scart = cCart(Sh.Cells(X, Y))
                                                                  Set Rg2 = Sh.Range("U13:U21").Find(Scart, LookIn:=xlValues, LookAt:=xlWhole)
                                                                  If Rg2 Is Nothing Then
                                                                      ws.Cells(Ur, 3) = Scart
                                                                  Else
                                                                      Rr = Rg2.Row
                                                                      ws.Cells(Ur, 3) = Scart
                                                                      ws.Cells(Ur, 4) = Sh.Cells(X, Y + 1)
                                                                      ws.Cells(Ur, 5) = Sh.Range("X" & Rr)
                                                                      ws.Cells(Ur, 6) = 0 + Sh.Range("Z" & Rr)
                                                                      ws.Cells(Ur, 7) = ws.Cells(Ur, 4) - ((ws.Cells(Ur, 4) * ws.Cells(Ur, 5)) + ws.Cells(Ur, 6))
                                                                      ws.Cells(Ur, 8) = Sh.Range("AB" & Rr).Value
                                                                      ws.Cells(Ur, 9) = Sid
                                                                      ws.Cells(Ur, 10) = aAnno
                                                                  End If
                                                              End If
                                                          Ur = Ur + 1
                                                      Next Y
                                                  Next X
                                              Next Sh
                                              wK.Close False
                                          End If
                                          
                                          ' Pulizia delle variabili e ripristino delle impostazioni dell'applicazione
                                          Set Rg1 = Nothing
                                          Set Rg2 = Nothing
                                          Set ws = Nothing
                                          Set Sh = Nothing
                                          Set wK = Nothing
                                          Application.ScreenUpdating = True
                                          Application.DisplayAlerts = True
                                          MsgBox "Fatto"
                                      End Sub
                                      
                                      #45589 Score: 0 | Risposta

                                      Umby67
                                      Partecipante

                                        Ciao @raffaele53

                                        la parte delle Carte di Credito funziona perfettamente, adesso bisogna risolvere la questione delle Debito che sono a 1 giorno.

                                        Stavo pensando e se creiamo  un altro D_Base (D_Base1) nel file solo per le Debito con la macro "Inserisci Giorno", così li gestisco le date a 1 giorno e posso sapere quali sono i valori che devo ricevere, mentre nel D_Base già esistente lasciamo la macro "Inserisci Mese" per non avere così problemi di duplicazione di giorni e di transazioni già inserite.

                                        Ti allego il file che ho preparato.

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

                                        Raffaele53
                                        Partecipante
                                          21 pts

                                          Non ho capito nulla, spiegati meglio. L'ultimo vba non va bene?

                                          #45615 Score: 0 | Risposta

                                          Umby67
                                          Partecipante

                                            provo a spiegarmi meglio

                                            Modificare la macro Importa Giorno nel file che ti ho allegato:

                                            1 - cambiare il nome database da D_Base per D_Base1 - già fatto!

                                            Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("D_Base1")

                                            2 - considerare solo le Carte di Debito (togliere le Carte di Credito e Pix):

                                            ' Array contenente le categorie di carta
                                            cCart = Array("0-nd", "1-nd", "2-nd", "VISA CREDITO", "MC CREDITO", "ELO CREDITO", "6-nd", "7-nd", "VISA DEBITO", "MAESTRO", "ELO DEBITO", "DINERS", "AMEX", "13-nd", "14-nd", "PIX")

                                            codice nel file mese: 8-Visa Debito   9-Maestro   10-Elo Debito

                                            3 - oltre a selezionare il file mese da importare, avere la possibilità di scegliere il giorno da inserire, così come è impostato adesso prende il mese intero:

                                            ' Seleziona il file da importare
                                            sName = Application.GetOpenFilename("File Excel (*.xls*), *.xls*")
                                            If sName <> "Falso" Then
                                            Workbooks.Open (sName)
                                            sName2 = ActiveWorkbook.Name
                                            Set wK = Workbooks(sName2)

                                            4 - togliere la colonna %Anticipazione (nelle Carte di Debito non esiste).

                                            ws.Cells(Ur, 6) = 0 + Sh.Range("Z" & Rr)

                                             

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

                                            Raffaele53
                                            Partecipante
                                              21 pts

                                              L'ho scritto nel post #45526 "sarebbe soggetto ad una gestione con diversi errori". Questo importa un solo giorno e con questo credo spero d'aver finito.

                                              Ps. Mettere Tabelle manda in tilt la ricerca dell'ultima riga, nel caso decidi di tenere la Tabella (abilita la riga UR relativa).

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

                                              Umby67
                                              Partecipante

                                                con questa tua ultima modifica e suggerimento tutto funziona come volevo.

                                                Ti ringrazio per la disponibilità e per la pazienza!

                                              Login Registrati
                                              Stai vedendo 22 articoli - dal 1 a 22 (di 22 totali)
                                              Rispondi a: Tabella ripeilogativa di pagamenti presenti in un altro file excel
                                              Gli allegati sono permessi solo ad utenti REGISTRATI
                                              Le tue informazioni: