Condividi:        

EXCEL - Macro di Riepilogo da altri fogli

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Flash30005 » 15/03/10 15:37

Zoro76 ha scritto:Nel file che mi hai mandato ho notato un piccolo errore: praticamente se io non metto un valore nelle celle dei connettori allora non mi compila la tabella
Nel file che mi hai mandato ho notato un piccolo errore: praticamente se io non metto un valore nelle celle dei connettori allora non mi compila la tabella


E adesso che cosa sono questi "connettori"?
La macro funziona in questa maniera
cercase, ci sono dei valori, in "Armatura e Punzonamento" nel foglio "ARM"
se si, riporta quanto da te specificato nella tabella foglio "Richieste"
e possono esserci anche 400 o 1000 Moduli indipendentemente se le scritte sono rosse o nere :lol:
La macro quindi può essere ricopiata nel foglio che viene compilato dalla ditta che ti fornisce i dati oppure sapendo il nome del foglio della ditta e il percorso potremmo andare a prendere i dati direttamente in quel foglio.
Devi farmi sapere tu se quel foglio vuoto è in tuo possesso e viene riempito automaticamente con i dati oppure ti viene fornito (spedito, condiviso etc) di volta in volta ex nuovo.
In quest'ultimo caso, dovresti darmi un percorso sul disco C:\TuaCartella\Fileditta\Dst.xlt dove metterai sempre questo file

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Sponsor
 

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Zoro76 » 15/03/10 16:34

Ti devo chiedere scusa... abituato a parlare di queste cose ho usato il termine "connettore" senza dirti che questi sono i 4 tipi di "Armatura a Punzonamento" che esistono... ancora mille scuse...

Il file che ho messo prima in condivisione è in mio possesso nella cartella del software.... Nel momento in cui io creo i miei disegni con l'Autocad, il software della ditta mi crea in automatico un file di Access (.mdb sempre nel mio PC). A questo punto apro Excel con una pagina vuota e lancio una macro: questa mi va a prendere questo file "Dst.xlt" e mi genera tutta la contabilità del mio disegno. Dopodichè devo salvare questo file appena generato in un'altra cartella che varia da progetto a progetto. Adesso non so se per te è più facile aggiungere la tua macro al file "base" oppure fare una macro che di volta in volta mi chiede il percorso del file con le tabelle e magari generare un'altro file.

Il percorso del file è questo:
C:\Programmi\Tecnosoft\Precad2008\DistintaExcel\Dst.xlt

PS1: il nome del file "Dst.xlt" non è quello giusto: davanti a Dst c'è il nome della mia ditta: è un problema?
PS2: il file ha estensione .xlt e non .xls: è un problema?
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Zoro76 » 15/03/10 16:45

Aggiungo una cosa:
nel file Dst.xlt ci sono 4 fogli compilati: 3 con tabelle e 1 che si chiama "SEZIONI" . Nel momento in cui faccio partire la macro della ditta questo 4° foglio scompare...non so spiegarmi il perchè; credo che in questo foglio ci siano le basi per generare tutta la distinta.
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Flash30005 » 16/03/10 01:30

Salva il tuo file Dst.xlt in un'altra cartella e inserisci questo file nel percorso originale
C:\Programmi\Tecnosoft\Precad2008\DistintaExcel\Dst.xlt
Fai il lavoro con l'AutoCad e quando hai compilato il file (modelo) Dst.xlt premi il pulsante Avvia.
Ho notato che in questo file le colonne adibite all'armatura sono quattro invece di tre come da te inviate nel file xls utilizzato per il test, ho modificato opportunatamente la macro.
Inoltre ho commentato il codice che cancellava il foglio "SEZIONI" così potrai consultarlo
ma se dovesse dare problemi devi togliere il commento alla relativa riga-codice.

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Zoro76 » 16/03/10 08:41

Ho provato il tuo file e devo dire che fa proprio un ottimo lavoro... grazie mille.

Se non è troppo disturbo avrei bisogno di chiederti un paio di piccole correzioni sulla grafica: posso abusare della tua pazienza?
A proposito come si chiama la macro che hai creato?
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Flash30005 » 16/03/10 14:25

le macro sono tutte nel Modulo1
la principale è "CompilaReport" che richiama le altre.

Cosa intendi per correzioni di grafica?
Potresti aggiustare il foglio come lo desideri e inviarmelo e farò in modo che la macro formatti nella stessa maniera cosa che potresti fare tu stesso se registri la macro mentre aggiusti graficamente il foglio e poi farai richiamare la tua macro alla fine dei processi esistenti.

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Zoro76 » 16/03/10 15:02

Per correzioni grafiche intendo il poter avere nel Foglio "Riepilogo" tutti i dati centrati nella propria cella e nelle celle delle somme avere le "sigle" delle rispettive colonne (ad es. sf-g-mt-mq- ecc.). Ti allego il file con le correzioni segnate in rosso.

Ti volevo chiedere un'altra cosa: la distinta della tua macro mette in ordine tutti i dati in base alle cataste e fin qui tutto perfetto. Può capitare, come nel file allegato, che i moduli non siano in ordine crescente sulle cataste: nel senso che magari i primi 5 moduli sono nella catasta 1, dal 6 al 10 nella catasta 2, e poi dall'11 al 15 di nuovo nella catasta 1: c'è la possibilità di unire nel foglio del Riepilogo tutti i moduli di ogni singola catasta creando così una tabella con tutti i moduli della catasta 1, tutti quelli della catasta 2, ecc...?

http://rapidshare.com/files/364125250/ProvaDst.xls.html

Grazie mille intanto
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Flash30005 » 16/03/10 16:01

Zoro76 ha scritto:Per correzioni grafiche intendo il poter avere nel Foglio "Riepilogo" tutti i dati centrati nella propria cella e nelle celle delle somme avere le "sigle" delle rispettive colonne (ad es. sf-g-mt-mq- ecc.). Ti allego il file con le correzioni segnate in rosso.

Quei totali già esistevano nei fogli Sfere, Armature e pensavo che facessero parte delle macro compilatrici del modello. Nel riepilogo la macro già inserisce i totali e non capisco se vuoi i font di colore rosso o se vuoi formattare solo con l'aggiunta della sigla (Kg, S, etc etc).

Zoro76 ha scritto:Ti volevo chiedere un'altra cosa...

Qui non si tratta di fare una modifica alla macro ma "riprogettarla" dall'inizio.
Non sarebbe stato così se non avessi avuto le celle unite perché ordinavamo solo la tabella con ordine crescente Catasta e Modulo.

Vedrò cosa si potrà fare

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Zoro76 » 16/03/10 16:22

Quei totali già esistevano nei fogli Sfere, Armature e pensavo che facessero parte delle macro compilatrici del modello. Nel riepilogo la macro già inserisce i totali e non capisco se vuoi i font di colore rosso o se vuoi formattare solo con l'aggiunta della sigla (Kg, S, etc etc).


mi interessa solo formattare con l'aggiunta della sigla.

Qui non si tratta di fare una modifica alla macro ma "riprogettarla" dall'inizio.
Non sarebbe stato così se non avessi avuto le celle unite perché ordinavamo solo la tabella con ordine crescente Catasta e Modulo.


mi dispiace non avertelo specificato prima, ti ho fatto sperare un sacco di tempo.... Se hai tempo e voglia per farlo va bene se no non ti preoccupare, cercherò di adattarmi io per questo...

Grazie infinite intanto per la tua disponibilità
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Flash30005 » 17/03/10 02:12

Prova questo file

Ciao


P.s. se sostituisci l'intera macro principale con il codice che avevi inserito nel file da te inviato non ti aspettare che il programma continui a funzionare
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Zoro76 » 17/03/10 09:01

Ottimo!!

però purtroppo manca ancora una condizione: se per caso non ho armatura a punzonamento la tabella di riepilogo non prende in considerazione i moduli: salta quelli dove ho inserito valore "0". Avrei bisogno che scrivesse sempre tutti i moduli a prescindere dal fatto che ci sia un numero nelle celle dell'armatura a punzonamento.

E' possibile anche centrare nelle celle tutti i valori della tabella riepilogo?

Ciao
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Flash30005 » 17/03/10 09:51

Ma se inserisci tutte le armature a punzonamento (anche quelle senza un valore) non hai più un riepilogo ma un altro elenco dove sono raggruppate le somme, anche il tuo primo esempio non riportava tutti i moduli ma solo quelli con le armature.

Per tutti i valori intendi i totali oppure anche i dati parziali?

fai sapere
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Flash30005 » 17/03/10 10:17

Ok ho modificato così: prova questo file

E' necessario, comunque, inserire 0 (zero) in armature e non lasciare mai una cella completamente vuota

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Zoro76 » 17/03/10 14:57

Tutto perfetto...ho fatto delle prove con diversi progetti e va sempre tutto bene.

So che sono un "rompi" ma non si riesce proprio ad evitare di inserire lo zero in quelle celle? Oppure non si potrebbe aggiungere una macro nel foglio "Armature" che guarda dove ci sono già dei valori e dove non ci sono ci inserisce lo zero magari anche chiedendo di selezionare la zona interessata?
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Zoro76 » 17/03/10 15:13

Ho trovato un piccolo errore:
Prima di far girare la tua macro nel Foglio Armatura se inserisco valori nelle celle dell'armatura a punzonamento alla fine mi calcola la somma e fin qui tutto ok: una volta che faccio girare la tua macro e voglio andare ad aggiungere dell'armatura non mi fa più la somma (solo nel foglio Armatura, nel "tuo" foglio la somma la fa).

Ciao intanto
e grazie
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Flash30005 » 17/03/10 15:42

Perché, la macro calcola le somme e sostituisce le formule pertanto se vai a modificare i valori in tabella per avere il totale è sufficiente ripremere il pulsante Aggiorna oppure sostituisci le due macro in fondo al modulo1:
FormatTotSfere e FormatTotArm
con questo codice

Codice: Seleziona tutto
Sub FormatTotSfere()
    SommaS = 0
    SommaG = 0
    SommaMt = 0
    SommaMq = 0
URS = Worksheets("SFERE").Cells(Rows.Count, 2).End(xlUp).Row
'For RR = 12 To URS
'    SommaS = SommaS + Worksheets("SFERE").Range("D" & RR).value
 '   SommaG = SommaG + Worksheets("SFERE").Range("F" & RR).value
 '   SommaMt = SommaMt + Worksheets("SFERE").Range("I" & RR).value
 '   SommaMq = SommaMq + Worksheets("SFERE").Range("L" & RR).value
'Next RR
'Worksheets("SFERE").Range("D" & URS + 1).value = SommaS
Worksheets("SFERE").Range("D" & URS + 1).NumberFormat = "0"" sf"""
'Worksheets("SFERE").Range("F" & URS + 1).value = SommaG
Worksheets("SFERE").Range("F" & URS + 1).NumberFormat = "0.00"" g"""
'Worksheets("SFERE").Range("I" & URS + 1).value = SommaMt
Worksheets("SFERE").Range("I" & URS + 1).NumberFormat = "0.00"" mt"""
'Worksheets("SFERE").Range("L" & URS + 1).value = SommaMq
Worksheets("SFERE").Range("L" & URS + 1).NumberFormat = "#,##0.00"" mq"""
Worksheets("SFERE").Range("D" & URS + 1 & ":L" & URS + 1).Font.Bold = True
Worksheets("SFERE").Range("D" & URS + 1 & ":E" & URS + 1).Merge
Worksheets("SFERE").Range("F" & URS + 1 & ":H" & URS + 1).Merge
Worksheets("SFERE").Range("I" & URS + 1 & ":K" & URS + 1).Merge
Worksheets("SFERE").Range("L" & URS + 1 & ":N" & URS + 1).Merge
Worksheets("SFERE").Range("D" & URS + 1 & ":L" & URS + 1).HorizontalAlignment = xlCenter

End Sub
Sub FormatTotARM()
    SommaKg = 0
    SommaP1 = 0
    SommaP2 = 0
    SommaP3 = 0
    SommaP4 = 0
URS = Worksheets("ARMATURE").Cells(Rows.Count, 4).End(xlUp).Row
'For RR = 13 To URS
'    SommaKg = SommaKg + Worksheets("ARMATURE").Range("L" & RR).value
'    SommaP1 = SommaP1 + Worksheets("ARMATURE").Range("P" & RR).value
'    SommaP2 = SommaP2 + Worksheets("ARMATURE").Range("S" & RR).value
 '   SommaP3 = SommaP3 + Worksheets("ARMATURE").Range("V" & RR).value
'    SommaP4 = SommaP4 + Worksheets("ARMATURE").Range("Y" & RR).value
'Next RR
'Worksheets("ARMATURE").Range("L" & URS + 1).value = SommaKg
Worksheets("ARMATURE").Range("L" & URS + 1).NumberFormat = "#,##0.00"" Kg"""
'Worksheets("ARMATURE").Range("P" & URS + 1).value = SommaP1
'Worksheets("ARMATURE").Range("S" & URS + 1).value = SommaP2
'Worksheets("ARMATURE").Range("V" & URS + 1).value = SommaP3
'Worksheets("ARMATURE").Range("Y" & URS + 1).value = SommaP4


Worksheets("ARMATURE").Range("L" & URS + 1 & ":M" & URS + 1).Merge
Worksheets("ARMATURE").Range("P" & URS + 1 & ":R" & URS + 1).Merge
Worksheets("ARMATURE").Range("S" & URS + 1 & ":U" & URS + 1).Merge
Worksheets("ARMATURE").Range("V" & URS + 1 & ":X" & URS + 1).Merge
Worksheets("ARMATURE").Range("Y" & URS + 1 & ":AA" & URS + 1).Merge
Worksheets("ARMATURE").Range("L" & URS + 1 & ":Y" & URS + 1).Font.Bold = True
Worksheets("ARMATURE").Range("L" & URS + 1 & ":AA" & URS + 1).HorizontalAlignment = xlCenter
Worksheets("ARMATURE").Range("P" & URS + 1 & ":AA" & URS + 1).NumberFormat = "0"" pz"""

End Sub


Ho commentato la sostituzione delle formule con i valori che mi calcolavo di volta in volta.
Con il codice postato qui le formule non saranno sostituite ma le celle verranno formattate come hai richiesto

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Zoro76 » 17/03/10 16:30

Ho sostituito e adesso mi calcola subito tutto in automatico...Per gli "zeri" riesci a fare qualcosa?
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Flash30005 » 17/03/10 16:53

In che senso?
Zoro76 ha scritto:però purtroppo manca ancora una condizione: se per caso non ho armatura a punzonamento la tabella di riepilogo non prende in considerazione i moduli: salta quelli dove ho inserito valore "0".


Con gli zeri ora funziona, ora non salta più se hai inserito il valore "0", salta se non c'è scritto nulla

Fai sapere
ciao


Aggiungo questo file con la modifica che metterà zero nel riepilogo anche quando non trova nulla in "ARMATURE"
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Zoro76 » 17/03/10 17:05

Flash30005 ha scritto:In che senso?
Zoro76 ha scritto:però purtroppo manca ancora una condizione: se per caso non ho armatura a punzonamento la tabella di riepilogo non prende in considerazione i moduli: salta quelli dove ho inserito valore "0".


Con gli zeri ora funziona, ora non salta più se hai inserito il valore "0", salta se non c'è scritto nulla


si si tutto ok. inserendo lo zero funzia tutto alla perfezzione

Intendevo questo messaggio:
Zoro76 ha scritto:So che sono un "rompi" ma non si riesce proprio ad evitare di inserire lo zero in quelle celle? Oppure non si potrebbe aggiungere una macro nel foglio "Armature" che guarda dove ci sono già dei valori e dove non ci sono ci inserisce lo zero magari anche chiedendo di selezionare la zona interessata?
Zoro76
Utente Senior
 
Post: 107
Iscritto il: 10/03/10 10:55

Re: EXCEL - Macro di Riepilogo da altri fogli

Postdi Flash30005 » 17/03/10 18:19

Avevo messo questa nota dopo l'invio del messaggio
molto probabilmente stavi già scrivendo il tuo e non hai letto.

Flash30005 ha scritto:...
...
Aggiungo questo file con la modifica che metterà zero nel riepilogo anche quando non trova nulla in "ARMATURE"



Ti consiglio di scaricare il file allegato ;)

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "EXCEL - Macro di Riepilogo da altri fogli":


Chi c’è in linea

Visitano il forum: Nessuno e 85 ospiti