riepilogo tabelle



  • riepilogo tabelle
    di alberto63 data: 23/09/2013 06:55:57

    Salve,
    il mio problema è il seguente:
    Ho un file Excel che contiene un foglio (pagina iniziale “denominato Foglio1”), + altri 34 fogli ognuno intestato in base all’articolo di sua pertinenza.
    Tutti i 34 fogli hanno le stesse colonne e la medesima intestazione (le intestazioni sono posizionate da riga 11 colonna “A” sino a colonna “H” i dati, quindi sono inserito da riga 12 colonna “A” sino a colonna “H”
    Ogni giorno inserisco i dati e a fine giornata sono costretto a riportare, su altro foglio, manualmente il riepilogo dei dati (da colonna “A” a colonna “H”) della singola giornata di tutti e 34 i fogli. Con la presente vi chiedo come posso, giornalmente, riportare questi dati automaticamente su un unico foglio riepilogativo
    In questo modo avrei un foglio riepilogativo che per data mi riporta tutto quello riportato sui singoli 34 fogli.



  • di gaetanopr data: 23/09/2013 09:10:01

    Non avendo una copia del file in questione si può abbozzare solo un esempio di come si potrebbe fare
    L'idea è di prelevare dalla cella che contiene l'articolo il nome del foglio di destinazione, in seguito determinando l'ultima riga piena di tale foglio si copiano i dati dalla riga successiva in poi


    Saluti
     
    Sub InserisciDati() 
    Foglio = Range("Inserire la cella che contiene l'articolo")
    LastRow = Sheets(Foglio).Cells(Rows.Count, 1).End(xlUp).Row + 1 
    
    
    With Sheets(Foglio)
          .Cells(LastRow, 1) = Sheets("primo foglio").Cells(13, 1) 
          .Cells(LastRow, 2) = Sheets("primo foglio").Cells(13, 2) 
    End With
    
    MsgBox "Dati memorizzati." 
    
    ' Inserire del codice per cancellare i dati dal 1°foglio 
    
    End Sub  



  • di gaetanopr data: 23/09/2013 09:15:45

    Scusatemi non avevo finito la spiegazione, la mia idea si sviluppa al contrario cioè invece di compilare i 34 fogli e poi tramite macro il riepilogativo, tu compili il riepilogativo non preoccupandoti di andare a selezionare di volta in volta il foglio esatto e poi da questo(riepilogativo) vengono compilati i vari 34 fogli fogli in maniera automatica

    Ciao



  • di paolomath data: 23/09/2013 09:25:47

    Ciao,

    ma il riepilogativo quindi ha 34 righe x 8 colonne?
    1° righa -> 1° foglio ecc.

    Credo ci voglia un file di esempio per capire la struttura.

    P.S. Consiglio che so già rimarrà inascoltato: pensato mai ad usare Access così si semplifica la vita?

    Bye.



  • di alberto63 (utente non iscritto) data: 25/09/2013 06:51:58

    ho allegato il file



  • di alberto63 (utente non iscritto) data: 25/09/2013 20:23:59

    all'attenzione di gaetanopr
    ho allegato un file che in parte riproduce la mia tabella. Come sopra detto vorrei che in automatico tutti i dati inseriti giornalmente nelle 34 tabelle vengano riepilogare sull'ultimo foglio.



  • di gaetanopr data: 25/09/2013 21:54:29

    cit>>all'attenzione di gaetanopr
    Ciao alberto63, in un forum solitamente non si ci dovrebbe rivolgere ad un solo utente, ti potresti precludere anche l'aiuto di altri
    Ti allego il tuo file, con macro che inserisce i dati nei vari fogli, quindi ho adottato il sistema che avevo spiegato qualche giorno fà.
    I dati vanno inseriti nel foglio riepilogativo, una volta lanciata la macro vengono riportati nei vari fogli e nella colonna I del foglioriepilogo viene inserita la scritta "Reg", in modo che al prossimo lancio della macro non vengono più ripresi.
    Questa colonna si potrebbe anche nascondere.
    Fai dei test, se preferisci invece adottare il sistema da te descritto si ci può lavorare sopra, magari già qualcuno ha la soluzione pronta.
    Saluti



  • di mb data: 26/09/2013 11:12:01

    scusate mi intrometto
    forse ho interpretato male l'ultimo file postato ma se inserisco dei dati nel foglio e lancio ma macro me li scrive sempre nel foglio caserta.
    mi sono perso qualche passaggio... come faccio a dire che il dato dev'essere ricopiato in caserta piuttosto che casoria o altra città
    grazie per l'attenzione e scusate se non ho capito bene il funzionamento del file ma sono all'inizio con vba e sto cercando di capire

    grazie



  • di gaetanopr data: 26/09/2013 11:31:15

    Per adesso non posso verificarlo, potrei anche aver sbagliato ad allegare il file allegando una prima bozza, più tardi controllo, comunque il foglio lo cambi inserendo il codice associato alla città(prelevabile dal primo foglio) nella colonna "CM".




  • di alberto63 (utente non iscritto) data: 26/09/2013 20:44:49

    ho provato la tabella ma non funziona. Ho cancellato i dati ed inseriti degli altri non sono stati riportati nel foglio di riepilogo. puoi controllare



  • di gaetanopr (utente non iscritto) data: 26/09/2013 20:54:09

    il file funziona al contrario cioè inserisci nel foglio di riepilogo tutti i dati a cascata e poi questi vengono riportati nei vari fogli(a mio avviso mi sembra più pratico)
    se ti piace questa soluzione ho un po' modificato la macro, altrimenti come detto posso cercare di modificarla in modo che funzioni come preferisci



  • di alberto63 (utente non iscritto) data: 28/09/2013 07:19:25

    Dalle prove effettuate sembra che va bene. Ho notato una cosa se dopo aver effettuato l’inserimento e l’inoltro della stringa nella propria cartella di destinazione, ti accorgi di aver errato un inserimento se correggi il dato nel foglio di riepilogo questo non viene inserito nel foglio di destinazione. Se si toglie la spunta “Reg” dalla riga interessata dalla modifica e ripigi il pulsante di inserimento non va a modificare la riga ma ne inserisce una nuova. Puoi sistemare questo inconveniente anche con la creazione di un nuovo pulsante (con macro sottostante) del tipo inserisci modifica. Inoltre c'è la possibilità che il pulsante di inserimento scorra man mano che si inseriscono i dati.



  • di gaetanopr data: 28/09/2013 09:35:47

    Si già avevo modificato la macro ma non considerato l'eventuale modifica o eliminazione a che ci siamo
    Appena pronto riallego file





  • di mb data: 29/09/2013 11:20:50

    buona domenica, cari gaetanopr e alberto63 potete postare i file perché come segnalato nei giorno scorsi il file che avevo scaricato ho provato ma il mio file se scrivo nel riepilogo copia i dati solo nel primo file caserta.
    vorre i capire dov'è l'errore alberto dice che funziona ma io non ci riesco
    grazie per l'aiuto



  • di gaetanopr data: 29/09/2013 18:32:19

    Salve a tutti, ho modificato la macro e aggiunto altri due pulsanti MODIFICAELIMINA.
    Ho aggiunto anche altre due colonne I e J dove nella cella I2 viene inserito un contatore di record(da non toccare), che servirà per poter effettuare modifiche ed eliminazioni, invece nella colonna J durante la fase di inserimento vengono riportati i nomi dei vari fogli(sempre da non toccare perchè serviranno per eventuali modifiche o eliminazioni)
    Per effettuare una modifica basta modificare il record pigiare il pulsante "MODIFICA" ed inserire tramite imputbox il numero del record, prelevabile dalla colonna I senza la scritta "Reg" e confermare al msgbox.
    Per eliminare stessa procedura, pulsante-codice-conferma al msgbox
    Fate sapere



  • di mb data: 30/09/2013 12:47:34


    bene ho scaricato il nuovo file...., provato mi funzionano le macro modifica ed elimina, ma non riesco a far funzionare il pulsante inserimenti
    buon pomeriggio
    spero che voi abbiate più fortuna



  • di alberto63 (utente non iscritto) data: 30/09/2013 20:22:09

    Inserimento perfetto ma non riesco ne a modificare ne a cancellare, ovvero ho cercato di modificare la prima riga come segue:
    ho inserito un dato mancante ho pigiato il tasto modifica ed è uscita la finestra di dialogo imputbox ho pigiato con il cursore sulla colonna I5 e nella finestra di IMPUTBOX è apparso =$I$5 ho pigiato OK ed è uscita la dicitura numero non valido.
    La stesa cosa anche se voglio cancellare. Mi dici dove sbaglio?



  • di gaetanopr data: 30/09/2013 20:29:16

    Ciao alberto, per effettuare una modifica fai in questo modo:
    Dopo aver effettuato le opportune modifiche, pigi il pulsante "MODIFICA" e inserisci tramite inputbox il numero del record, prelevabile dalla colonna I senza la scritta "Reg" e confermi al msgbox.
    Quindi se nella colonna I il record si chiama "Reg10" tu scrivi solamente 10 SENZA cliccare sulla colonna.
    Stessa cosa per eliminare



  • di albero63 (utente non iscritto) data: 30/09/2013 20:42:54

    ok penso che va bene domani lo provo e lo testo per bene



  • di mb data: 01/10/2013 10:15:14

    procedura per inserire



  • di gaetanopr data: 01/10/2013 14:11:09

    Ciao mb, esattamente cosa non funziona? restituisce qualche errore? hai provato a cambiare i vari codici nella colonna CM prelevandoli dal primo foglio? Quale versione excel hai in uso?


    Ciao



  • di mb data: 01/10/2013 14:23:12

    buon pomeriggio
    ti allego il file utilizzato per capire come funziona.
    ho inserito dei dati in riga 6 del foglio e poi ho premuto sul pulsante inserisci ma non copia nulla nel foglio NOLA
    per la versione uso office 2010
    grazie



  • di gaetanopr data: 01/10/2013 14:37:36

    Ciao mb non hai seguito bene la discussione tu devi inserire il codice nella colonna E, sotto 153 scrivi 231
    e non scrivere NULLA nella colonna J viene riportato da solo.
    Questa er la richiesta di alberto se invece tu vuoi farlo funzionare diversamente, fai sapere magari si possono apportare delle modifiche



  • di mb data: 01/10/2013 15:16:07

    infinitamente grazie
    non avevo capito il dato CM
    perfetto e complimenti per il lavoro ma soprattutto per la disponibilità per persone alle prime armi con vba come me
    buona serata


  • riepilogo tabelle
    di alberto63 data: 05/11/2013 20:24:09

    Ciao Gaetano
    Ho notato che se nella colonna CM inserisco in maniera errata il codice del Centro di smistamento (esempio se al posto di inserire 125 inserisco 153 la modifica non la prende ovvero il dato non viene cancellato dal CM 153 ed inserito nel CM 125 ma rimane sempre nella 153. Unica soluzione cancellare la riga se me ne accorgo subito. Mi puoi aiutare. Ti allego il file



  • di gaetanopr data: 05/11/2013 23:18:48

    Ciao Alberto, ho modificato la macro ora dovrebbe andare bene



  • di alberto63 (utente non iscritto) data: 10/11/2013 19:14:53

    cia gaetano
    mi potresti allegare il file. non sono riuscito a scaricarlo. grazie



  • di gaetanopr data: 10/11/2013 22:45:24

    Ciao Alberto eccolo



  • di Alberto63 (utente non iscritto) data: 11/11/2013 20:55:10

    Ciao Gaetano
    ho notato una cosa: ho corretto il CM ad esempio da 125 a 132 tutto è andato bene ma poi se vuoi correggere altri (o singolo) dato della stessa riga ad esempio la data oppure altri codici e quindi anche nuovamente il CM da questo errore “RECORD o CM non trovato”
    Puoi verificare?
    Grazie
    Alberto63



  • di gaetanopr data: 11/11/2013 21:07:42

    Ciao mancava la riga che aggiornava il nome del nuovo foglio quindi non lo trovava
    Spero che stavolta non ho dimenticato nulla



  • di alberto63 (utente non iscritto) data: 17/11/2013 13:16:48

    Scusa Gaetano
    Ho riperso la macro che hai sistemato alcuni giorni fa. Se Hai una copia la puoi allegare oppure rimodifica quella che tri allego
    Ti ringrazio



  • di gaetanopr (utente non iscritto) data: 17/11/2013 13:44:08

    Ciao alberto, questa volta la imprimo per sempre
     
    Sub ModificaDati()
    Dim Shr As Worksheet
    Dim Shd As Worksheet
    Dim CodiceMod As Long, n As Long, TrovatoRec As Boolean
    Dim i As Long, LastRow As Long, LastRowDes As Long
    Dim Foglio As String
    
    Set Shr = Sheets("FoglioRiepilogo")
    CodiceMod = Application.InputBox("Quale record vuoi modificare?", Type:=1)
    LastRow = Shr.Cells(Rows.Count, 5).End(xlUp).Row        ' ultima riga piena foglio di riepilogo colonna E
    TrovatoRec = False
    
     For i = 5 To LastRow
      If Shr.Cells(i, 9).Value = "Reg" & CodiceMod Then
         Foglio = Shr.Cells(i, 10)
         Set Shd = Sheets(Foglio)
         LastRowDes = Shd.Cells(Rows.Count, 5).End(xlUp).Row
         For n = 12 To LastRowDes
          If "Reg" & CodiceMod = Shd.Cells(n, 9) Then
           If Shd.Cells(n, 5) = Shr.Cells(i, 5) Then
            If MsgBox("Vuoi Modificare il record ? " & "Reg" & CodiceMod, vbYesNo + vbCritical, "Modifica Record") = vbNo Then GoTo Fine
               Shr.Range(Cells(i, 1), Cells(i, 9)).Copy Destination:=Shd.Cells(n, 1)
               TrovatoRec = True
               MsgBox "Modifica effettuata"
               GoTo Fine
           Else
               Dim Rng As Range, Trovato As Range
               Set Rng = Sheets("Foglio1").Range("B8:B15", "F8:F15")
               Foglio = Shr.Cells(i, 5)
               If Foglio <> "" Then
                 Set Trovato = Rng.Find(Foglio, LookAt:=xlWhole, LookIn:=xlValues)
                  If Not Trovato Is Nothing Then
                   If MsgBox("Vuoi Modificare il record ? " & "Reg" & CodiceMod, vbYesNo + vbCritical, "Modifica Record") = vbNo Then GoTo Fine
                      Shd.Cells(n, 1).EntireRow.Delete
                      Set Shd = Sheets(Trovato.Offset(0, 1).Value)
                      LastRowDes = Shd.Cells(Rows.Count, 5).End(xlUp).Row + 1 '   ultima riga piena +1 foglio destinazione
                      Shr.Range(Cells(i, 1), Cells(i, 9)).Copy Destination:=Shd.Cells(LastRowDes, 1)
                      TrovatoRec = True
                      Shr.Cells(i, 10) = Shd.Name
                      MsgBox "Modifica effettuata"
                  End If
                End If ' in caso inserire msgbox Foglio non trovato
           End If
          End If
         Next n
      End If
     Next i
     If TrovatoRec = False Then MsgBox "Record o CM non trovato"
    
    Fine:
    Set Shr = Nothing
    Set Shd = Nothing
    Set Trovato = Nothing
    End Su