Sviluppare funzionalita su Microsoft Office con VBA Cerca valore Max tra più fogli partendo dal 4 foglio. Excel 2021

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

    pixel
    Partecipante

      Buongiorno a tutti, 

      sto cercando di risolvere un problema ed è questo.

      Supponiamo che nel file ci sono 15 fogli con nomi diversi Es. Foglio1, Foglio2 e così via. 

      In un foglio inserisco in A1 questa formula:  =MAX('AB0:AB999'!F20)

      Poi creo due fogli chiamati AB0 e AB999 e li sistemo il primo all'inizio di tutti i fogli e l'altro come ultimo.

      La formula funziona benissimo e restituisci il valore massimo trovato su tutti i fogli alla cella F20. Fin qui ok.

      Pur aver letto su questo forum alcuni argomenti nel merito e cercato in rete,  non riesco a risolvere il fatto che la ricerca del valore "MAX" deve partire dal 4 foglio e su tutti i fogli presenti nel file.

      Ho provato nel spostare il foglio AB0 dalla prima alla quarta posizione, ma la formula mi restituisce 0.

      Grazie

       

       

      #43072 Score: 0 | Risposta

      alexps81
      Moderatore
        58 pts

        Sempre se ho capito la richiesta di aiuto....

        Se crei i 15 fogli, poi il primo lo chiami AB0 e l'ultimo AB999 poi in cella A1 del foglio nominato AB0 ci scrivi =MAX('Foglio4:AB999'!F20) ti fa il calcolo dal Foglio 4 fino al foglio AB999.

         

        Cmq volevo dirti una cosa (non c'entra nulla con l'argomento della tua richiesta). Facciamo un passo indietro al discorso delle camere...dovresti effettuare una piccola modifica al codice (come mi è stato suggerito da Vecchio_Frac):

        Nella frmAssegnaCamera vai nell'evento CommandButton18_Click e ti porti al ciclo For che ti indico si seguito...

        For i = 1 To giorniPernotto
            ReDim Preserve periodo(1 To giorniPernotto) '<-----------Portare il ReDim periodo() fuori dal ciclo
            periodo(i) = DateSerial(annoArrivo, meseArrivo, giornoArrivo)
            giornoArrivo = giornoArrivo + 1
        Next i
        

        Devi portare il ReDim Preserve periodo fuori dal ciclo (cioè prima di For i = 1 To giorniPernotto)

        Lo fai diventare così (senza il Preserve)

        ReDim periodo(1 To giorniPernotto)
        
        For i = 1 To giorniPernotto
            periodo(i) = DateSerial(annoArrivo, meseArrivo, giornoArrivo)
            giornoArrivo = giornoArrivo + 1
        Next i
        

        Scusa se utilizzo questo Thread per dirti questa cosa ma mi sono ricordato adesso e per non dimenticarmi ne ho approfittato. Eventualmente, ulteriori indicazioni sull'argomento Assegna Camere ci rifacciamo sul Thread apposito

         

         

         

        #43073 Score: 0 | Risposta

        pixel
        Partecipante

          Ciao Alex, è un piacere sentirti. Come vedi sono qui per andare avanti nel progetto.

          Allora: in primis ho cambiato con il tuo suggerimento la riga e la riporto,

          giorniMeseArrivo = DateSerial(annoArrivo, meseArrivo + 1, 1) - DateSerial(annoArrivo, meseArrivo, 1)
          giorniMesePartenza = DateSerial(annoPartenza, mesePartenza + 1, 1) - DateSerial(annoPartenza, mesePartenza, 1)
          giorniPernotto = DateSerial(annoPartenza, mesePartenza, giornoPartenza) - DateSerial(annoArrivo, meseArrivo, giornoArrivo)
          
          ReDim periodo(1 To giorniPernotto)
          For i = 1 To giorniPernotto
              'ReDim Preserve periodo(1 To giorniPernotto) 'disattivata
              periodo(i) = DateSerial(annoArrivo, meseArrivo, giornoArrivo)
              giornoArrivo = giornoArrivo + 1
          Next i

          così mi potrai dire se sta bene e poi se non ti chiedo troppo vorrei capire con termini "per noi piccoli umani"   la differenza. Almeno voglio provarci.

          Ti ringrazio tantissimo a te e al Vecchio frac per l'aiuto che mi state dando. 

          Invece ritornando al  problema in questione non và. Ho provato anche io ma di il valore del foglio4 cella F20.

          Ti spiego cosa mi serve.

          Io ho creato con assemblaggi di codici diversi, un codice che mi crea una "Ricevuta"  dove al suo interno tra i vari dati, c è anche il numero di ricevuta.

          Quindi, interessa sapere iniziando dal 4 foglio in poi il valore massimo che si trova nella cella F20. dopodicè aggiungo +1 posso  emettere una nuova ricevuta con il numero MAX trovato + 1. Non so se sono stato chiaro.

          Grazie Alex

          Se vuoi ti allego il codice per la creazione della ricevuta e magari mi dessi un'occhiata. Dimmi tu.

           

          #43075 Score: 0 | Risposta

          alexps81
          Moderatore
            58 pts

            pixel ha scritto:

            Io ho creato con assemblaggi di codici diversi, un codice che mi crea una "Ricevuta"  dove al suo interno tra i vari dati, c è anche il numero di ricevuta.

            Quindi, interessa sapere iniziando dal 4 foglio in poi il valore massimo che si trova nella cella F20. dopodicè aggiungo +1 posso  emettere una nuova ricevuta con il numero MAX trovato + 1. Non so se sono stato chiaro.

            Diciamo che lavorare su un tuo file di esempio è sempre preferibile. Cmq tieni presente che nella formula dovresti modificare Foglio4 con il nome del Foglio. Non so se si chiama Fattura4 allora dovrai scrivere =MAX('Fattura4:AB999'!F20)

            Io ho provato e funziona. Mi posiziono in cella A1 del foglio AB0 messo al primo posto e se nelle celle F20 dei foglio 2 e 3 scrivo un qualsiasi valore numerico non avviene nulla. Se invece vado a scriverlo nel celle F20 che sono comprese dal foglio Fattura4 al foglio AB999 allora mi restituisce il valore più alto. Cmq se alleghi un file è meglio.

            Per la questione dell frmAssegnaCamera, scrivo sul thread apposito, altrimenti diventa dispersivo.

            #43076 Score: 0 | Risposta

            pixel
            Partecipante

              Non va.  Perchè la ricevuta non è una sola ma saranno 2,3,4, e così via. 

              Ti allego il codice che uso e appena posso ti inserisco in file.

              Grazie

              'Crea nuova Ricevuta cliente
              Dim Messaggio As String, Titolo As String, x As String, _
              ws As Integer, wsc As Integer, wsX As String, wsOri As Worksheet, _
              wsCopia As Worksheet, z As String, zz As String, wss As Integer, y As String
              
              Application.ScreenUpdating = False ' acceleriamo il processo disattivando lo schermo
              'Application.Calculation = xlManual
              
              Messaggio = "La nuova Ricevuta prenderà il nome dal: Numero prenotazione composto, dal Codice cliente, anticipato da tre 000, + la Data di arrivo."
              y = txtNumPrenotazione.Text
              Titolo = "CREA NUOVA RICEVUTA!"
              x = InputBox(Messaggio, Titolo, y) '& txtNumPrenotazione.Text
              x = UCase(x)
              If x = "" Then Exit Sub
              wsc = Sheets.Count
              For ws = 1 To wsc
                  Sheets(ws).Activate
                  wsX = ActiveSheet.Name
                  
                  If wsX = x Then
                    z = MsgBox("Esiste già la ricevuta  " & y & ".  Vuoi inserire una nuova ricevuta?" & Chr(13) & "" & Chr(13) & "", _
                      vbYesNo + vbCritical, "!!! ATTENZIONE !!!")
                      If z = vbNo Then
                          Exit Sub
                          Else
              10
                          zz = InputBox("Inserisci una nuova ricevuta!")
                          x = UCase(zz)
                          If zz = "" Then
                              Exit Sub
                          End If
              'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
              'NUOVO CICLO per la seconda verifica
                          For wss = 1 To wsc
                              Sheets(wss).Activate
                              wsX = ActiveSheet.Name
                              If wsX = x Then
                                 
                                  z = MsgBox("Secondo Avviso!" & Chr(13) & "Esiste già una ricevuta " & y & ". " & Chr(13) & "" & Chr(13) & "", vbCritical, "!!! ATTENZIONE !!!")
                                  GoTo 10
                                  'RITORNA ALL'INPUTBOX
                              End If
                          Next wss
              'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
                      End If
                      Exit For
                  End If
              Next ws
              Set wsOri = Sheets("Matrice") ' Questo è il foglio che deve copiare con le varie impostazioni per la nuova ricevuta
              With wsOri
                  .Visible = True
                  .Activate
                  .Copy before:=Sheets(1)
              
              End With
              Set wsCopia = Sheets("Matrice (2)")
              With wsCopia
              
                  .Name = x
                  
              ''All'interno del foglio appena creato inseriamo i vari dati. Non definitivo, in costruzione
              Range("A26").Value = (txtRicevutaTotaleOspiti.Value)
              Range("B26").Value = ("PAX. ") ' n. Persone + numero pernotti
              Range("A25").Value = (txtRicevutaPernotti.Value)   ' numero pernotti
              Range("B25").Value = "Periodo" + " dal " + (txtRicevutaDataArrivo.Value) + " al " + (txtRicevutaDataPartenza.Value)
              
              Range("F20").Value = (txtRicevutaNumeroRicevuta.Value) ' numero ricevuta
              Range("H20").Value = Format(Now(), "dd-mm-yyyy") ' inserisci la data di emissione ricevuta
              Range("F11").Value = (txtRicevutaCognome.Value) + ("  ") + (txtRicevutaNome.Value) ' Scrivi cognome e nome e/o Ragione sociale impresa
              Range("F13").Value = (txtRicevutaIndirizzo.Value) ' Indirizzo Impresa
              Range("F15").Value = "( " + (txtRicevutaProvincia.Value) + " )"  ' Il risultato contenuto in txtbox deve essere tra le parentesi
              Range("I25").Value = ("€.") + (txtRicevutaCostoSoggiorno.Text) ' il costo totale soggiorno
              Range("I49").Value = (txtRicevutaCostoSoggiorno.Text & " EURO") ' il costo totale soggiorno
              Range("F49").Value = ("€.") + (txtRicevutaCostoSoggiorno.Text) ' il costo totale soggiorno
              Range("F14").Value = (txtRicevutaCap.Value) + (" - ") + (txtRicevutaLuogoDiRilascio.Value) ' inserisce Cap e luogo dell'impresa
              
              ' 1° condizione. Copia in ricevuta se trovi un valore
              If txtRicevutaAcconto <> "" Then
              Range("C49").Value = ("ACCONTO ") + ("€.") + (txtRicevutaAcconto.Value) + ("  DATA ") + (txtRicevutaDataAcconto.Value) ' Scrivi
              Range("C52").Value = ("MODALITA': ") + ("  ") + (txtRicevutaMetodoSaldo.Value) ' Scrivi
              End If
              ' 2° condizione. Copia in ricevuta se trovi un valore
              If txtRicevutaDataSaldo.Value <> "" Then
              Range("C51").Value = ("SALDO ") + ("€.") + (txtRicevutaSaldo.Value) + ("  DATA ") + (txtRicevutaDataSaldo.Value) ' Scrivi
              Range("C50").Value = ("MODALITA': ") + ("  ") + (txtRicevutaMetodoAcconto.Value) ' Scrivi
              End If
              
                  
              MsgBox ("Una nuova Ricevuta cliente chiamata -  " & x & "  - è stato registrata con Successo!") & Chr(13) & "" & Chr(13) & "", vbInformation, ("INFO: Operazione riuscita!!!")
              End With
              Application.ScreenUpdating = True
              ActiveSheet.Tab.ColorIndex = 5 ' quando crei una nuova Fattura, colora di Blu la linguetta
              Sheets(x).Move after:=Sheets(Worksheets.Count - 1) ' sposta il foglio creato prima del foglio chiamato AB999
              
               ActiveSheet.Protect Password:=""  ' Mettiamo la pro
              #43079 Score: 0 | Risposta

              alexps81
              Moderatore
                58 pts

                Quando riesci allega il file che non è facile capire il risultato da ottenere.

                #43081 Score: 0 | Risposta

                pixel
                Partecipante

                  Ales ti allego il file.

                  All'interno del file ci sono  tre ricevute  la N°1 "0004-01-01-2024", la 2° "0007-09-01-2024", la 3° "00014-10-03-2024" .
                  All'interno di questi fogli nella cella F20 c è il Num. di Ricevuta.
                  Quello che vorrei ottenere è: deve trovare il valore massimo della cella F20 (in questo caso è 27) tra tutti i fogli presenti tra AB0 a AB999, e memorizzarlo nella Cella M2 del foglio Generale.
                  Questo perchè quando andrò ad emettere una nuova ricevuta, mi carico il valore della cella M2 in Textbox gli aggiungo +1 ed avrò ottenuto un nuovo numero per la nuova ricevuta.

                  La cosa strana che ho notato è il fatto che se spostavo il foglio AB0 All'inizio, la formula in M2 del foglio Generali funzionava. Adesso non so cosa ho cancellato/modificato e la formula mi restituisce sempre 0 a prescindere AB0 dove lo posizioni. Mistero!

                   

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

                  pixel
                  Partecipante

                    Ho risolto, il problema era nel foglio matrice la cella F20 era formattata in Testo. Mi è bastata formattarla in Generale che adesso funziona. 

                    Grazie

                    #43084 Score: 0 | Risposta

                    alexps81
                    Moderatore
                      58 pts

                      Allora...non entro nel merito del perché si mette in moto così il meccanismo di assegnare un nuovo numero di ricevuta...se a te va bene così allora prosegui pure così. Ma tu crei tanti foglio per quante ricevute farai? Se è così avrai centinai di Fogli nel tempo. Non so quanto soffrirà il tuo gestionale a sopportare centinaia di Fogli. Io invece mi genererei la ricevuta in formato PDF e creerei una cartella dove conterrei tutte le ricevute. Magari farei una cartella generale "RICEVUTE" al suo interno tante altre cartelle: "RICEVUTE_2024" , "RICEVUTE_2025", ecc...magari anche suddivise per mesi. All'interno di ogni cartella andrebbe la ricevuta in formato PDF (o anche in formato xlsx, se per caso ci fosse bisogno di modificarla). Poi nel Foglio GENERELE nella cella M2 fare scrivere il numero dell'ultima ricevuta emessa...ma dopo che è stata generata in PDF. Alla prossima ricevuta verrà interpellato il valore contenuto in foglio "Generale!M2" incrementato di 1.

                       

                      Cmq per risolvere il tuo problema devi modificare il FormatNumber nelle celle F20 di ogni Foglio relativo alle ricevute. Adesso ce l'hai formattato come TESTO per questo la Funzione MAX() non funziona. Vai in tutte le celle F20 ce ti interessano, tasto dx del mouse, Formato Celle..., scegli NUMERO. Ti allego immagine come indicazioni

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

                      alexps81
                      Moderatore
                        58 pts

                        pixel ha scritto:

                        Ho risolto, il problema era nel foglio matrice la cella F20 era formattata in Testo. Mi è bastata formattarla in Generale che adesso funziona. 

                        Perfetto...lo avevo notato anche io ma hai risolto prima tu mentre scrivevo. Cmq pensa anche alla mia idea che ti ho scritto su 

                        #43087 Score: 0 | Risposta

                        pixel
                        Partecipante

                          Ciao Alex, 

                          alexps81 ha scritto:

                          non entro nel merito del perché si mette in moto così il meccanismo di assegnare un nuovo numero di ricevuta

                          Ogni anno dal 01/01  al 31/12 la ricevuta deve avere un numero progressivo. Si parte da 1 poi 2, 3 e così via per ogni cliente. Il numero di ricevuta è univoco e non possono esserci 2 ricevute con lo stesso numero. Ecco perchè una volta inserito il primo numero, senza andare a vedere tra i vari fogli (ricevute), l'ultimo numero inserito.  Qui entra in funzione il numero massimo che riportandolo in una textbox, mi basterà prendere quel valore maggiorarlo  di 1, ed avrò il nuovo numero.

                           

                          alexps81 ha scritto:

                          Ma tu crei tanti foglio per quante ricevute farai? Se è così avrai centinai di Fogli nel tempo.

                          Esatto. Un foglio con pochi dati ma  un file con tanti fogli.

                          alexps81 ha scritto:

                          Non so quanto soffrirà il tuo gestionale a sopportare centinaia di Fogli. Io invece mi genererei la ricevuta in formato PDF e creerei una cartella dove conterrei tutte le ricevute. Magari farei una cartella generale "RICEVUTE" al suo interno tante altre cartelle: "RICEVUTE_2024" , "RICEVUTE_2025", ecc...magari anche suddivise per mesi. All'interno di ogni cartella andrebbe la ricevuta in formato PDF (o anche in formato xlsx, se per caso ci fosse bisogno di modificarla). Poi nel Foglio GENERELE nella cella M2 fare scrivere il numero dell'ultima ricevuta emessa...ma dopo che è stata generata in PDF. Alla prossima ricevuta verrà interpellato il valore contenuto in foglio "Generale!M2" incrementato di 1.

                          Non ci avevo pensato a quanti fogli possa contenere e supportare excel.  Invece per quanto riguarda il PDF, ci avevo pensato ed ho qualcosa a portata di mano che devo modificare.

                          Il fatto invece di salvare anche il foglio nel formato xlsx non ci avevo pensato.

                          Quindi tu consigli di creare una cartella esterna e credo sia un'ottima idea. Questo farà si che il file sia più leggero/veloce.

                          Se ho capito bene: 

                          Creare una cartella: Ricevute Generali.

                          Al suo interno creare una cartella: Ricevute 2024, (Ricevute 2025) , al suo interno inserire sia i file PDF che i file xslx. 

                          Se è così non ci avevo pensato. Ottimo direi.

                           

                           

                           

                           

                          #43088 Score: 0 | Risposta

                          pixel
                          Partecipante

                            P.s. Una mia curiosità, secondo te quanti fogli o quanto Mb può gestire un file Excel?

                            #43089 Score: 0 | Risposta

                            alexps81
                            Moderatore
                              58 pts

                              pixel ha scritto:

                              Se ho capito bene: 

                              Creare una cartella: Ricevute Generali.

                              Al suo interno creare una cartella: Ricevute 2024, (Ricevute 2025) , al suo interno inserire sia i file PDF che i file xslx. 

                              Se è così non ci avevo pensato. Ottimo direi.

                              Si esatto. Ora io non so esattamente la dinamica dell'emissione della ricevuta, ma ipotizzo che quanto visualizzi la scheda del cliente, premi un button CREA RICEVUTA e verrà generata una ricevuta prendendo tutti i dati necessari (Cognome, Nome, periodo, nr. di ricevuta, ecc...). Appena si genera, viene archiviata una copia in PDF in una cartella specifica (oppure ti verrà chiesto dove salvarla attraverso un finestra di dialogo). Stesso ragionamento per il file in xlsx. Però sul tuo gestionale sarà presente solo un Foglio di appoggio dedicato alla creazione della ricevuta.

                              #43090 Score: 0 | Risposta

                              pixel
                              Partecipante

                                alexps81 ha scritto:

                                Ora io non so esattamente la dinamica dell'emissione della ricevuta, ma ipotizzo che quanto visualizzi la scheda del cliente, premi un button CREA RICEVUTA e verrà generata una ricevuta prendendo tutti i dati necessari (Cognome, Nome, periodo, nr. di ricevuta, ecc..

                                Come hai potuto notare nel file allegato, ho creato un altra Userform apposito per le ricevute. Mi carica i dati che servono. Chiaramente devo finire e sistemare al meglio il tutto.

                                alexps81 ha scritto:

                                Appena si genera, viene archiviata una copia in PDF in una cartella specifica (oppure ti verrà chiesto dove salvarla attraverso un finestra di dialogo). Stesso ragionamento per il file in xlsx. Però sul tuo gestionale sarà presente solo un Foglio di appoggio dedicato alla creazione della ricevuta.

                                Esatto, ci sto arrivando. Il Foglio di Appoggio deve rimanere perchè quella è la base (impostazione)  della ricevuta; foglio "Matrice".

                                #43092 Score: 0 | Risposta

                                alexps81
                                Moderatore
                                  58 pts

                                  Ciao @pixel ti voglio girare una mia proposta per quanto riguarda la faccenda delle Ricevute.

                                  Lancia il gestionale, visualizza un cliente e crea la ricevuta, poi premi su STAMPA RICEVUTA. Dopo ti chiede se vuoi stampare la ricevuta, dopo accettato ti stampa la ricevuta in PDF. Poi vai nella cartella dove risiede questo gestionale che hai appena scaricato e vedi che ti ha creato una cartella RICEVUTE. Guarda bene all'interno cosa trovi.

                                  Ovviamente vanno ancora sistemate altre cose e bisogna gestire gli altri buttone e checkbox (non ho capito a cosa servono...caso mai spiega pure se ti interessa portare avanti il gestionale in questo modo).

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

                                  vecchio frac
                                  Senior Moderator
                                    272 pts

                                    pixel ha scritto:

                                    P.s. Una mia curiosità, secondo te quanti fogli o quanto Mb può gestire un file Excel?

                                    I fogli sono virtualmente illimitati e dipendono dalla memoria disponibile. Stesso discorso per la dimensione del file che però è dipendente da fattori diversissimi e non si può essere precisi a priori. Tieni conto però che Excel ha dei limiti intrinseci che possono rallentarne le prestazioni o diminuirle drasticamente al crescere dei dati (e delle formule).

                                    Qui il link alle informazioni Microsoft sulle specifiche e i limiti di Excel:

                                    https://support.microsoft.com/it-it/office/specifiche-e-limiti-di-excel-1672b34d-7043-467e-8e27-269d656771c3

                                    #43102 Score: 0 | Risposta

                                    pixel
                                    Partecipante

                                      Buongiorno Vecchio Frac,

                                      a titolo di curiosità/conoscenza nei limiti,  ho letto in rete le cose che hai riportato tu in poche righe ma ricche di contenuti.

                                      Grazie per il tuo intervento.  

                                      #43105 Score: 0 | Risposta

                                      alexps81
                                      Moderatore
                                        58 pts

                                        @pixel hai dato uno sguardo al mio post di ieri alle 17.32 #43092? Ti ho allegato un esempio di stampa ricevuta.

                                        #43131 Score: 0 | Risposta

                                        pixel
                                        Partecipante

                                          Ciao Alex, 

                                          alexps81 ha scritto:

                                          hai dato uno sguardo al mio post di ieri alle 17.32 #43092? Ti ho allegato un esempio di stampa ricevuta.

                                          Scusami per il  notevole ritardo ma non lo avevo notato. Lo provo e ti faccio sapere. 

                                          #43134 Score: 0 | Risposta

                                          pixel
                                          Partecipante
                                            'Format(Now(), "dd-mm-yyyy")
                                            Corretto riga
                                            
                                            Folder = "Ricevute\FormatoPDF\" & mese & "\"
                                            
                                            con questa 
                                            Folder = "Ricevute\FormatoPDF\" & mese & Format(Now(), "yyyy") & "\"
                                            Gennaio 2024

                                            Vorrei ottenere una cosa del genere "Ricevuta 2024" . Sto provando, sicuramente starò sbagliando.  

                                            #43136 Score: 0 | Risposta

                                            alexps81
                                            Moderatore
                                              58 pts

                                              Potresti sfruttare gli oggetti che hai nella UserForm....

                                              Folder = "Ricevute\FormatoPDF\" & mese & " " & Year(txtRicevutaDataEmissione) & "\"
                                              
                                              #43137 Score: 0 | Risposta

                                              pixel
                                              Partecipante

                                                Ho notato che manca un mio post precedente. Lo cancellato convinto di averlo mandato in rete.

                                                #43138 Score: 0 | Risposta

                                                pixel
                                                Partecipante

                                                  Alex, ho modificato come hai detto tu. Io mi sono avvicinato  ma dava errore perchè io usavo: 

                                                  Folder = "Ricevute\FormatoPDF\" & mese & " " & Year(Data)&(txtRicevutaDataEmissione) & "\"

                                                   

                                                  Comunque come detto nel post precedente che erroneamente avrò cancellato, il tuo codice è molto più snello di quello che stavo elaborando io. Infatti, io stavo usando 1 codice era per il PDF e l'altro per salvare il foglio. Invece il tuo fa tutto in uno. Ingamba come sempre Alex.

                                                  Ti volevo chiedere una cosa. Secondo te è possibile che quando vado per salvare anzicchè creare la sottocartella "Ricevute" possa crearmi la sotto cartella con l'anno di riferimento in automatico ad es. Ricevute 2024.  Questo perchè potrei avere il tutto in un unica cartella es. Ricevute 2024, Ricevute 2025 e cosi via. Secondo te si potrebbe realizzare?

                                                  Gazie

                                                   

                                                  #43139 Score: 0 | Risposta

                                                  pixel
                                                  Partecipante

                                                    alexps81 ha scritto:

                                                    Ovviamente vanno ancora sistemate altre cose e bisogna gestire gli altri buttone e checkbox (non ho capito a cosa servono...caso mai spiega pure se ti interessa portare avanti il gestionale in questo modo).

                                                    P.s. Il fatto chkbox è il seguente. 

                                                    Su indicazione del mio commercialista "Pignolo"   se emetto una ricevuta di un cliente ad es. Rossi Mario, questa  va bene impostarla così.

                                                    Se invece è un impresa :

                                                    Ditta Impiantistica Europea SPA

                                                    ---- qui tutti i dati ....

                                                    'Si aggiunge in ricevuta

                                                    Vostri ospiti:

                                                    Rossi Mario

                                                    Bianco Vito

                                                    e tutti i nomi degli ospiti che hanno usufruito del servizio.

                                                    Naturalmente non l' ho finito, ma il motivo che selezionando la CHKBOX Azienda, il codice mi vada ad inserire la dicitura "Vostri ospiti:" e poi tutti i nominativi.

                                                    Questo è quanto.

                                                     

                                                    #43141 Score: 0 | Risposta

                                                    alexps81
                                                    Moderatore
                                                      58 pts

                                                      Prova così, ma è da verificare il funzionamento.

                                                       

                                                      Folder = "Ricevute" & " " & Year(txtRicevutaDataEmissione) & "\FormatoPDF\" & mese & " " & Year(txtRicevutaDataEmissione) & "\"
                                                      '....
                                                      '....
                                                      '....
                                                      '....
                                                      Folder = "Ricevute" & " " & Year(txtRicevutaDataEmissione) & "\FormatoXLSX\" & mese & " " & Year(txtRicevutaDataEmissione) & "\"
                                                      
                                                      
                                                      
                                                      

                                                       

                                                    Login Registrati
                                                    Stai vedendo 25 articoli - dal 1 a 25 (di 33 totali)
                                                    Rispondi a: Cerca valore Max tra più fogli partendo dal 4 foglio. Excel 2021
                                                    Gli allegati sono permessi solo ad utenti REGISTRATI
                                                    Le tue informazioni: