Print   Search   Utenti   Join     Share : FaceboolTwitter
renc
Tuesday, October 11, 2011 3:17 PM
Ciao a tutti, vorrei aiutare un amico che non ha molta dimestichezza con excel ad automatizzare una cartella, e visto che neanche io sono molto bravo chiedo il vostro aiuto.

La cartella contiene vari fogli, uno per cliente in ogni foglio ci sono i vari interventi giornalieri divisi in schede, periodicamente si dovrebbe presentare al cliente il lavoro svolto nell'arco di un periodo.

In pratica si vorrebbe stampare più schede in un unica stampata.

Ho iniziato il lavoro creando una macro che permetta di selezionare liberamente la parte della scheda da stampare (dalla data in giù) premendo il pulsante 1 copia la selezione sul foglio stampa in corrispondenza della cella attiva in modo da poter ripetere l'operazione con altre selezioni spostando la cella più in basso poi con il tasto "elimina vuote" elimina le righe vuote sulla voce pezzi/ore.
Non credo però che questa soluzione sia molto elegante, potreste darmi un aiutino?Grazie
excel2007
by sal
Wednesday, October 12, 2011 5:23 PM
Stampa
Ciao Renc, la prima cosa inserisci la tua versione Excel nella tua firma, pochi secondi nel tuo profilo, come fare nella mia firma.

ho aperto il file, e non sono riuscito a capire cosa vuoi stampare?.

Vedo 2 fogli, Giovanni, Antonio + quello di stampa

Ogni foglio ha 10 schede di interventi tu cosa vorresti stampare, un solo intervento oppure se ci sono più interventi fare il cumulo e stamparli?, in questo caso poi si perde il riferimento alla scheda di intervento.

Fai sapere, Ciao By Sal [SM=x423051]
renc
Thursday, October 13, 2011 6:07 PM
Ciao by sal grazie per aver risposto, ho provveduto subito ad aggiungere la versione nella firma come mi hai indicato.

Nella cartella è compreso un altro foglio con l'elenco dei clienti e la possibiltà di aggiungerli generando autamaticamente il foglio con il nome cliente (giovanni e antonio sono un esempio).

Quello che voglio fare è appunto un cumulo di interventi da stampare (capita che si vada da un cliente per più giorni e si debba fare una stampata sola di più schede).

Per facilitare la compilazione ho pensato di creare il foglio cliente con schede da copiare ed incollare in un altro foglio e poi eliminare le righe non compilate, non so come risolvere la ripetizione di questo procedimento fatto più volte per aggiungere i contenuti di altre schede.

Prima gli interventi erano messi su una singola riga invece che incolonnati per schede ma poi era difficile da spiegare ai clienti come leggere la stampata in riga ed anche la lista dei materiali era difficile da compilare in riga, questo formato mi è sembrato più pratico per poi essere stampato ma forse c'è un sistema migliore, diciamo che il foglio cliente serve per gestire i dati il problema è stamparli in modo leggibile e contenere tutti i materiali.

Allego un esempio del foglio cliente com'era prima.
renc
Friday, October 21, 2011 9:53 PM
Va bene qualsiasi tipo di aiuto, anche se si perde il riferimento alle schede va bene, anche solo per avere un idea di come si possa fare questo copia incolla in modo più corretto accetto qualsiasi consiglio
by sal
Saturday, October 22, 2011 8:36 AM
Rendiconti
Ciao renc, con il tempo si passa nel dimenticatoio, non riesco a ricordare tutto.

Il problema si può risolvere, occorrono 3 cose, un foglio archivio, per le voci ed i prezzi ed altro, un foglio stampa, per la stampa del rendiconto, e vista la gestione nominativa dei clienti un foglio Cliente, dove scrivere tutti gli interventi effettuati.

Volevo sapere se bisogna inserire un Logo e un facsimile del rendiconto per avere uno spunto.

Fai sapere, Ciao By Sal [SM=x423051]

renc
Saturday, October 22, 2011 12:17 PM
Ciao By Sal e grazie di nuovo.

Il logo non occorre, magari solo una riga di intestazione.

La cartella in allegato riporta nel foglio stampa i dati del foglio Giovanni pronti da stampare (mancherebbero solo i valori dei totali), sarebbe interessante differenziare i totali per categoria (manodopera, macchinari e materiali), ma se non è possibile va bene il totale generale.

raffaele1953
Saturday, October 22, 2011 1:18 PM
Ciao a tutti, di certo by sal provvede.
Non sono bravo col VBA mà ci proverò. Ho notato che giovanni ha già tre schede compilate invece in stampa c'è n'è sono solo due. C'è un motivo particolare?

I Totali delle tre schede sono già in D13:D21 mà sono relativi solo alle voci di sinistra.
Guardando in altro modo le schede, si potrebbe dire che la manodopera sia relativa solo alle prime 3 voci di ogni scheda e i relativi mezzi siano subito sotto per solo 5 righe?
In merito al materiale "subito sotto altra voce"..... Nel caso i fossero tante voci da inserire a quanto potrebbero arrivare le righe 10/20/30? Intendo dire hai preparato 10 schede a destra e prolungato e celle fino a 122 righe. Può succedere che tutte le 10 schede siano compilate e qualcuna aver tantissimo materiale d'arrivare alla 122° riga?
renc
Saturday, October 22, 2011 2:17 PM
Ciao raffaele1953, grazie per l'interessamento al mio problema.

Nell'ultimo allegato ho controllato il foglio stampa e sono presenti tre ordini di data dunque sono presenti le prime tre schede del foglio Giovanni.
Il foglio stampa così com'è serve come esempio dei dati da stampare e presentare al cliente.

Il mio problema si concentra proprio nel produrre questo elenco da stampare in modo automatizzato cioè: selezionare varie giornate lavorative dalla scheda del cliente e riportarle in un elenco da stampare.

A questo scopo ho pensato di organizzare i fogli cliente in schede da copiare ed incollare già in colonna, quindi come hai già ossevato nel tuo post ho precompilato le schede con un settore maodopera (le prime 4 righe) Macchinari (altre 4 più sotto) smaltimento e materiali più sotto con le colonne gà pronte da compilare.

Può darsi che in un intervento servano materiali ed in altri no ho precompilato tutte quelle righe per facilitare la compilazione della scheda senza porre limiti di qualità di materiali.
raffaele1953
Saturday, October 22, 2011 2:41 PM
Ciao per quanto riguarde le schede hai ragione sono tre, prima di fare la macro bisogna mettere a posto i Totali. Perciò manodopera sono 4
capo squadra
manod.spec.
manodopera
tree climbing
Invece gli automezzi altri 4
trattamenti
autocarro
trattorino
altra voce
Tutto il resto sarà considerato materiale e diciamo che bastino un 30° di righe. Per quanto riguarda le voci in B7:B21 sono solo indicative per compilare le varie schede. Giusto
La riga d'instestazione comunque esclusa da compilare poco prima della stampa se intendi i dati del cliente oppure fissa se sono i Vostri dati.
renc
Saturday, October 22, 2011 4:48 PM
Si la riga di intestazione sarà sempre la stessa (deciderà il mio amico cosa scriverci la ditta è sua)

I dati sulle colonne B,C,D servono a fornire i valori per tutte le schede dei vari costi orari e danno un riferimento del budget iniale per non sforare la spesa.

Le voci non sono complete, quando avrò un quadro completo di come dovrà essere formato il foglio cliente dovrò aggiungere le ore complessive fornite per ogni categoria (madopera,caposquadra..., macchinari vari..., in tutto 9 )spesa complessiva di tutti i materiali e categorie e poi confrontarle con i preventivi stimati in modo da tenere d'occhio la spesa e non sforare troppo sul preventivo.

Comunque questo lavoro per ora non è un problema l'ho lasciato sospeso proprio per il problema principale che ora mi affligge: come stampare i dati in modo semplice e automatico.

Per ora lasciato in sospeso il foglio cliente perchè se per stampare i dati bisogna modificarlo o stravolgerlo non devo rifare tutto da capo
raffaele1953
Saturday, October 22, 2011 6:31 PM
Tra poco devo andare, ho fatto qualcosa mà non va bene.
Ho modificato solo il foglio giovanni inserendo prima delle schede una lettera A=Lavoro B=Mezzi C=materiali (circa 40) + in D1:D3 le formule per il totale.
A questo punto ho selezionato le varie aree e incollate in stampa.
Pensavo che il pulsante elimina vuote dovesse cancellare tutte le righe non scritte in Range("F12:F510") lo modificato, mà mi lascia diverse righe e non saprei cosa scrivere. Magari qualcuno lo completta = Macro3.

Ps Se preferisci continuare con il tuo metodo di selezione e premere il bottone ci sarebbe da mettere questa riga
ActiveSheet.Paste Destination:=Range("D65536").End(xlUp).Offset(1, 0)
Ma bisogna modificarla e non sono capace perche da sola non mi copia i vari valori e insieme alla tua fa casino. Le X perchè deve cominciare da li.

Attenzione il files spostato non va assolutamente bene con le ultime prove l'ho incasinato. Ho cancellato due colonne e nella macro sono rimasti i vecchi puntamenti. Domani lo rivedo
raffaele1953
Sunday, October 23, 2011 2:07 PM
L'ho messo a posto, almeno per come la vedo io
Solo per il foglio giovanni premi inserisci tutto e in stampa Elimina righe vuote (Attento che prima cancella tutto in stampa)
Come scritto a fianco delle schede ci sono lettere che servono per fare il totale.
In G1:G3 le formule che vengono riscritte ogni volta.
Ultima cosa la scritta "Pz./Ore" l'ho sostituita con una formula =SE(O7>0;"Pz./Ore";""), perchè mi lasciava alcune righe in stampa, pertanto ogni volta che scrivete qualcosa su scheda nuova riappare.

Ps. Se qualcuno gentimente mi spiega perchè nel modulo 4 non riesco a mettere a posto quel codice. Intendo dire se seleziono =G8:K20 in Giovanni
Riesco ad usare ActiveSheet.Paste Destination:=Range("D10:D65536").End(xlUp).Offset(1, 0) ma non riesco ad abbinarlo ad Paste:=xlPasteValuesAndNumberFormats, Operation:= xlNone, SkipBlanks:=False, Transpose:=False.
Grazie
raffaele1953
Sunday, October 23, 2011 2:09 PM
renc
Sunday, October 23, 2011 7:49 PM
Il lavoro sulle somme era proprio quello che intendevo ed è ok.

Sulla stampa verrebbero riproposte tutte le schede compilate anche se stampate in precedenza, comunque non è un problema basterà cancellarle manualmente prima di stampare.

Per quanto riguarda la selezione delle schede da stampare la cosa è un po' più complessa: seguendo il codice dovrei mettere a mano il nome del foglio cliente per ogni singolo foglio, il problema è che il foglio cliente verrebbe generato automaticamente dal foglio "principale" e sarebbe difficile gestire tutto questo a mano (soprattutto per il mio amico che è l'utente finale).
Mi spiego:
Questo lavoro in realtà è la modifica di un altra cartella excel
(Ho sbagliato io in partenza a non presentare tutta la cartella di origine.)

Allego la cartella completa del foglio principale (che non è ovviamente farina del mio sacco ma mi è stata proposta su questo forum anni fa)

Questa cartella serviva a gestire vari clienti creando il proprio foglio automaticamente e siccome si dovevano fare interventi di manutenzione con cadenze diverse riordina la lista per scadenza così da sapere quale cliente richiedeva la manutenzione

Naturalmente è rimasta così com'era in origine con tutti i collegamenti da rifare (li rifarò quando il foglio prototipo per questo lavoro sarà definitivo)

Volevo sfruttare questo foglio per generare quello dei vari clienti quindi fare un foglio "prototipo" che permetta di stampare come scritto in precedenza



raffaele1953
Monday, October 24, 2011 1:35 PM
L'ho rimodificato, vedi se Ti va bene.
Una volta compilato una scheda se si desidera stamparla, bisogna cliccare sul SI/NO in alto e una volta stampato a fianco appare stampato. Per ristamparlo bisogna cancellare tale scritta. Le colonne con le lettere sono importanti, fanno fare i calcoli e fanno si che quando viene copiate la scheda in stampa vada ad aggiungersi in fondo alla lista. Le lettere in Stampa colonna D non devono essere cancellate, casomai chiudi la colonna in modo che non sia visibile. Ti lascio giovanni, mà ho già modificato il Prototipo in modo che tutti siano uguali.

>>>bisogna cliccare sul SI/NO
In teoria i controlli sono due, se il si/no e posizionato sul no non stampa, appena metti si stampa però subito dopo non sarà piu stampato se non cancelli la scritta stampato.
renc
Tuesday, October 25, 2011 1:28 AM
Grazie raffaele1953 è esattamente quello che volevo fare [SM=x423030]

Spero che questa discussione e questo lavoro excel sia servito anche ad altri.

Ora non mi resta che completare il lavoro nella parte più semplice.

Se avrò altre difficoltà con questo lavoro aprirò un altra discussione, il problema del copia/incolla delle schede è stato risolto elegantemente.
Grazie
raffaele1953
Tuesday, October 25, 2011 11:20 AM
Ho messo le formule nel VBA perchè ogni volta che si eliminano righe decrementava il valore iniziale. Correggi il files, vai in VBA ALT+F11 vai in Moduli2 e cancella tutto.
Vai in Moduli1, in fondo 10° righe dalla fine subito sotto End IF seleziona tutto e cancelli incollando questo
Sheets("Stampa").Select
Range("F6").Select
ActiveCell.FormulaR1C1 = "=SUMIF(R[4]C[-2]:R[494]C[-2],""A"",R[4]C[2]:R[494]C[2])"
Range("F7").Select
ActiveCell.FormulaR1C1 = "=SUMIF(R[3]C[-2]:R[493]C[-2],""B"",R[3]C[2]:R[493]C[2])"
Range("F8").Select
ActiveCell.FormulaR1C1 = "=SUMIF(R[2]C[-2]:R[492]C[-2],""C"",R[2]C[2]:R[492]C[2])"
Range("a1").Select
Application.ScreenUpdating = True
End Sub
renc
Tuesday, October 25, 2011 6:18 PM
Ok grazie lo farò subito.
renc
Tuesday, October 25, 2011 9:56 PM
fatto curioso
Ho aggiunto un po' di schede, l'ultima scheda la n°27 non la stampa, potrei anche farne a meno ma mi incuriorisce il fatto.
Ho copiato il codice if per tutte le schede allo stesso modo ma proprio l'ultima non va, è un limite di excel o c'è un altro motivo?
Allego il file
raffaele1953
Tuesday, October 25, 2011 10:44 PM
If Range("ef4").Value = "SI" And Range("eg4").Value = "" Then
Secondo Te la casella ef4 e " SI" ed eg4 e vuota?
Range("eg4").Select correggi anche quella sotto....cancella anche le formule in prototipo D1:d3
renc
Tuesday, October 25, 2011 11:12 PM
Ho invertito i riferimenti, hai ragione scusa devo stare più attento.
Grazie per l'indicazione sulla D era coperta e non la vedevo.
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa click here
Tutti gli orari sono GMT+01:00. Adesso sono le 4:21 PM.
Copyright © 2000-2014 FreeForumZone snc - www.freeforumzone.com