Condividi:        

Compilazione automatica nuovo foglio

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

Compilazione automatica nuovo foglio

Postdi sancho87 » 18/09/15 15:36

Ciao a tutti,
vi scrivo per avere un aiuto per un file relativo alle spese di una attività e-commerce.

Il file è già funzionante, ma mi servirebbe capire come aggiungere due pagine di riepilogo, uno per le vendite e uno per le entrate, ma non ho la più pallida idea di come fare.
In sostanza in base a quanto compilato negli sheet dei vari mesi, si dovrebbero completare gli ultimi due sheet in base se si tratti di un'entrata oppure un'uscita. Le entrate sono quelle nel foglio totali che vanno da A3 ad A5, mentre le uscite da A10 ad A15.

Qui potete trovare il file: http://dropcanvas.com/ok3eh

Grazie mille in anticipo,
Andrea
sancho87
Newbie
 
Post: 6
Iscritto il: 18/09/15 15:23

Sponsor
 

Re: Compilazione automatica nuovo foglio

Postdi Flash30005 » 20/09/15 03:04

Ciao Sancho e benvenuto nel Forum
Ho scaricato il file e mi aspettavo di trovare i due fogli riepilogo entrate e uscite minimamente formattati mentre sono due fogli completamente bianchi.
dove vorresti inserire i totali?

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: Compilazione automatica nuovo foglio

Postdi sancho87 » 21/09/15 13:21

In realtà non è formattato proprio perchè non ho idea di come farlo!
nella mia testa io vorrei solo riportare le quattro colonne (data, descrizione, euro e categoria) compilate nei 12 mesi in un unico foglio.
in sostanza mi servirebbe un riepilogo di tutte le spese e di tutte le entrate...non so se sono riuscito a farmi capire...
sancho87
Newbie
 
Post: 6
Iscritto il: 18/09/15 15:23

Re: Compilazione automatica nuovo foglio

Postdi sancho87 » 25/09/15 08:40

Nessuno riesce ad aiutarmi?

Grazie ancora,
Andrea
sancho87
Newbie
 
Post: 6
Iscritto il: 18/09/15 15:23

Re: Compilazione automatica nuovo foglio

Postdi alfrimpa » 25/09/15 13:43

Ciao Andrea

Ti allego il tuo file sul quale ho cercato, se ho capito bene, di risponderti.

http://www.filedropper.com/sancho87

Per il momento la cosa è limitata al solo mese di gennaio.

Ho inserito una colonna a sinistra (Voce) dove tu con una convalida dati puoi scegliere Entrate/Uscite.

Quando avrai valorizzato una delle celle della colonna E (dopo aver compilato l'intera riga) in base al valore presente (Entrate/Uscite) in colonna A la zona (da B ad E) verrà copiata sul foglio di pertinenza.

Non so se sono stato chiaro.

Provalo un po' e fai sapere.

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ure As Long
Dim uru As Long
ure = Worksheets("Entrate").Range("A" & Rows.Count).End(xlUp).Row
uru = Worksheets("Uscite").Range("A" & Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("e4:e215")) Is Nothing Then
If Target.Rows.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
    If Target.Offset(0, -4).Value = "Entrate" Then
            Range("B" & Target.Row & ":" & "E" & Target.Row).Copy Destination:=Worksheets("Entrate").Range("a" & ure + 1)
    Else
            Range("B" & Target.Row & ":" & "E" & Target.Row).Copy Destination:=Worksheets("Uscite").Range("a" & uru + 1)
    End If
End If
End Sub

Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Compilazione automatica nuovo foglio

Postdi sancho87 » 25/09/15 15:58

Perfetto! Io avrei voluto farglielo riconoscere con la colonna "categoria", non è possibile?

In caso contrario ti ringrazio tantissimo, va benissimo uguale!
sancho87
Newbie
 
Post: 6
Iscritto il: 18/09/15 15:23

Re: Compilazione automatica nuovo foglio

Postdi alfrimpa » 25/09/15 16:20

Ma infatti è alla compilazione della colonna E (categoria) che si attiva il codice per l'archiviazione dei dati quindi non capisco tu cosa intenda.

Comunque fai molte prove perché i malfunzionamenti sono sempre dietro l'angolo.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Compilazione automatica nuovo foglio

Postdi sancho87 » 25/09/15 16:47

Intendevo, senza mettere Entrate/Uscite, riconosce se è entrata o uscita in base alla voce, e in automatico va a completare lo sheet entrate e uscite.

Come faccio ora a moltiplicarlo per tutti i mesi?

Grazie mille!!
sancho87
Newbie
 
Post: 6
Iscritto il: 18/09/15 15:23

Re: Compilazione automatica nuovo foglio

Postdi alfrimpa » 25/09/15 17:04

Ed in base a quale criterio Excel dovrebbe "capire" che si tratta di un'entrata oppure di un'uscita?

Quanto alla tua seconda domanda, come sei messo a conoscenze di VBA?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Compilazione automatica nuovo foglio

Postdi alfrimpa » 25/09/15 17:43

Ciao Andrea

Ti riallego il file completo per tutti i mesi; è stato facile è bastato solo duplicare i fogli.

http://www.filedropper.com/sancho871

Devi solo rispondere alla prima domanda.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Compilazione automatica nuovo foglio

Postdi Anthony47 » 26/09/15 00:12

Scusate se mi sovrappongo, ma avevo gia' da giorni preparato una risposta che poi non so per quale motivo non ho pubblicato...

Per Sancho:
secondo me tu sei partito esattamente dalla direzione inversa: cioe' non dovresti scrivere i dati Mensili e poi chiederti come fare un elenco Annuale, ma compilare un unico elenco annuale e poi con i tool di Excel trasformarlo in "viste" mensili, cosa che si fa facilmente con lo strumento Tabella pivot.

Anche l'idea di consolidare i dati mensili in DUE fogli mi sembra sbagliata, perche' dovresti consolidare su un unico foglio.
Cio' detto, una macro come questa ti consentira' di creare quando vuoi un aggiornamento per i fogli Entrate e Uscite fino all'ultimo inserimento presente nei fogli mensili.
Codice: Seleziona tutto
Sub ytdSancho()
Dim CMaxD As Long, I As Long, mySh As Worksheet, myAgg As Long
Dim myLastE As Long, myLastU As Long, J As Long
'
myLastE = Application.WorksheetFunction.Max(Sheets("Entrate").Range("A:A"))
myLastU = Application.WorksheetFunction.Max(Sheets("Uscite").Range("A:A"))
'
For I = 1 To 12
    Set mySh = Sheets(Format(DateSerial(2015, I, 25), "mmm"))
    CMaxD = Application.WorksheetFunction.Max(mySh.Range("A:A"))
    If CMaxD > myLastE Or CMaxD > myLastU Then
        For J = 4 To mySh.Cells(Rows.Count, 1).End(xlUp).Row
            'Check se Entrate:
            If mySh.Cells(J, 1) > myLastE Then
                If Application.WorksheetFunction.CountIf(Range("Vendite"), mySh.Cells(J, 4)) > 0 Then
                    Sheets("Entrate").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(1, 4).Value = _
                        mySh.Cells(J, 1).Resize(1, 4).Value
                        myAgg = myAgg + 1
                End If
            End If
            'Check se Uscite:
            If mySh.Cells(J, 1) > myLastU Then
                If Application.WorksheetFunction.CountIf(Range("Vendite"), mySh.Cells(J, 4)) = 0 Then
                    Sheets("Uscite").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(1, 4).Value = _
                        mySh.Cells(J, 1).Resize(1, 4).Value
                        myAgg = myAgg + 1
                End If
            End If
        Next J
    End If
    Set mySh = Nothing
Next I
MsgBox ("Aggiornati Entrate e Uscite" & vbCrLf & "Totale righe inserite: " & myAgg)
End Sub
Inseriscili in un nuovo Modulo del progetto vba: da excel, premi Alt-F11 per aprire l' editor delle macro; Menu /Inserisci /Modulo; copia il codice e incollalo nel frame di dx.

Presuppone che tu abbia creato da qualche parte nel tuo file un elenco delle voci che siano associate alle "entrate" (fallo piu' lungo delle attuali tre voci e lascia le altre righe per ora vuote) e che a questo elenco hai dato il nome "Vendite". Sara' usato per determinare se la riga appartiene alle Entrate o altrimenti alle Uscite.

A questo punto salvi il file (in un formato abilitato alle macro).

Poi all'occorrenza mandi in esecuzione la macro ytdSancho: da Excel, premi Alt-F8, scegli "ytdSancho" dall'elenco di macro disponibili, premi Esegui.
La macro inserira' nei fogli di riepilogo le voci fino alle date inserite.

Attenzione che la macro considera "congelati" i dati gia' riportati in Entrate e Uscite (precedente esecuzione della macro); quindi, una volta che hai cominciato a creare i riepiloghi, aggiunte su fogli "vecchi" o cancellazioni (anche sul foglio "corrente mese") verranno quasi sicuramente ignorate (il "quasi" e' riferito al fatto che se la data dell'operazione aggiunta fosse superiore all'ultima riepilogata nella sua classe allora sarebbe presa in considerazione).
Comunque puoi sempre cancellare il contenuto dei fogli Entrate e Uscite e la macro ricreera' il contenuto da gennaio.
I fogli devono essere nominati gen, feb, mar, etc come nell'esempio del file pubblicato; le intestazioni dei fogli Entrate e Uscite le metterai a mano prima di eseguire la macro.

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19215
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Compilazione automatica nuovo foglio

Postdi alfrimpa » 26/09/15 14:58

Ciao Anthony

La tua proposta è sicuramente più completa della mia bozza.

Io mi sono limitato a proporre una soluzione sulla base del file allegato da Sancho87.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Compilazione automatica nuovo foglio

Postdi sancho87 » 28/09/15 11:22

Ringrazio entrambi per il tempo che mi avete dedicato.
Sono una capra con excel, più che qualche formula non so fare! :)

Anthony, sto valutando la tua soluzione, ma non riesco a capire una cosa: dovrei andare solo a compilare i due foglio "uscite" e "entrate" e dopo aver eseguito il modulo, mi dovrei trovare tutto ordinato mese per mese? è corretto?

in questo caso come devo formattare i due fogli? Perchè ho provato ma mi dice: totale righe inserite 0.

Grazie ancora,
Andrea
sancho87
Newbie
 
Post: 6
Iscritto il: 18/09/15 15:23

Re: Compilazione automatica nuovo foglio

Postdi Anthony47 » 28/09/15 14:31

La macro prende il contenuto dei fogli mensili e ne posiziona le righe compilate all'interno dei fogli di riepilogo Entrate o Uscite.
La colonna A dei fogli mensili deve contenere una data completa (es 28/09/2015); i fogli devono essere nominati gen, feb, mar, etc (come nell'esempio pubblicato).

Solo registrazioni piu' nuove di quelle gia' presenti in Entrate e Uscite vengono accodate ai riepiloghi.
Diciamo che una cosa logica e' che a ogni fine mese, quando le registrazioni del mese sono congelate, lanci la Sub ytdSancho; ma la puoi lanciare tutte le volte che vuoi e lei operera' nella modalita' descritta in questo e nel precedente messaggio.

Le intestazioni dei fogli di riepilogo le devi mettere a mano, e i campi li formatterai come logica vuole: il campo data sara' una data (scegli il formato data che piu' ti piace), la Descrizione e' logico che sia un Testo, il Valore sara' un "valuta" con 2 decimali, la Categoria sara' un Testo.

Prova e fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19215
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Compilazione automatica nuovo foglio":


Chi c’è in linea

Visitano il forum: danibi60 e 19 ospiti