Aiutamici Forum
Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

Fatture in excel Opzioni
delvallo
Inviato: Monday, February 13, 2006 7:01:56 PM
Rank: Member

Iscritto dal : 10/18/2003
Posts: 14
Salve a tutti, sto creando una struttura in excel per fare fatturazione, mi serviva il vostro aiuto per creare delle macro che consentano di cambiare automaticamente il numero progressivo per ogni nuova fattura e che mi facesse il riepilogo delle fatture emmesse spero che mi aiutate.Grazie anticipatamente.
Sponsor
Inviato: Monday, February 13, 2006 7:01:56 PM

 
a10n11
Inviato: Monday, February 13, 2006 9:59:21 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
esistono già un mare di fatture preimpostate in excel (guarda ad esempio fra i modelli da scaricare nel sito di microsoft "modelli Office") oppure tramite google "Fatture Excel" ne trovi tanti e poi sbizzarti come vuoi.
saluti
Andrea

delvallo
Inviato: Tuesday, February 14, 2006 8:11:59 AM
Rank: Member

Iscritto dal : 10/18/2003
Posts: 14
Si questo lo so però volevo imparare a fare questo tipo di macro, comunque ho dato un'occhiata su google e non ho trovato quello che cercavo, grazie comunque per la tua disponibilità
a10n11
Inviato: Tuesday, February 14, 2006 3:05:57 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
Ti posso dare un piccolo spunto da cui partire:
supponiamo che lo schema della fattura in un foglio chiamato Fattura sia così organizzato:
in E3=Ragione sociale - F9=Nr.fattura - A10=data fattura - E23=imponibile -E24=Iva - E25 = Tot fattura.

Nel foglio Riepilogo con le intestazioni in celle da A1 a F1 con il seguente ordine:
Nr.Fattura/ Data Fattura/ Ragione sociale/ Imponibile/ Iva/ Totale fattura

inserire sul foglio Fattura un pulsante a cui associare la seguente macro:(questa macro controlla l'ultimo numero utilizzato per le fatture emesse che trova nel foglio riepilogo, l'aumenta di 1 e lo scrive nel campo della fattura che si sta generando)

Sub numera()
With ActiveSheet
.Range("f9").Value = Application.WorksheetFunction.Max(Worksheets("riepilogo").Range("a2:a100")) + 1
End With
End Sub



inserire sul foglio Fattura un ulteriore pulsante a cui associare la macro che segue:(questa macro accoda al foglio Riepilogo la fattura appena emessa)

Sub registra()
With Sheets("riepilogo")
riga = 2
While .Cells(riga, 1) () ""
riga = riga + 1
Wend
.Cells(riga, 1).Value = Range("f9").Value
.Cells(riga, 2).Value = Range("a10").Value
.Cells(riga, 3).Value = Range("e3").Value
.Cells(riga, 4).Value = Range("e23").Value
.Cells(riga, 5).Value = Range("e24").Value
.Cells(riga, 6).Value = Range("e25").Value
End With
End Sub

saluti
Andrea

delvallo
Inviato: Wednesday, February 15, 2006 12:13:05 PM
Rank: Member

Iscritto dal : 10/18/2003
Posts: 14
Ciao Andrea ho provato quello che mi hai scritto però mi da un errore evidenziandomi questo comando While .Cells(riga, 1) () "", ovviamente io non so cosa fare mi chiarisci le idee? Grazie.
a10n11
Inviato: Wednesday, February 15, 2006 2:57:21 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
Ciao Andrea ho provato quello che mi hai scritto però mi da un errore evidenziandomi questo comando While .Cells(riga, 1) () "" <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>

è il solito problema di trasformazione del simbolo di maggiore e minore che in questo sito cambia con le parentesi tonde
While .Cells(riga, 1) maggiore minore "
il simbolo di maggiore minore sono le frecce di fianco al tasto maiuscolo.
saluti
Andrea





Edited by - a10n11 on 02/15/2006 15:00:15

delvallo
Inviato: Wednesday, February 15, 2006 8:27:53 PM
Rank: Member

Iscritto dal : 10/18/2003
Posts: 14
Problema risolto grazie Andrea, vorrei porti un altro quesito se i ripieloghi li volessi fare per trimestri in base alla data cosa mi suggerisci di fare?
a10n11
Inviato: Wednesday, February 15, 2006 8:36:24 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve del tipo un foglio per ogni trimestre??
basta scrivere una macro che in base alla data di fattura sceglie il foglio su cui registrare il documento. Anche per facilitare le cose, terrei comunque un foglio di riepilogo generale.
Domani provo a suggerire una ipotesi.
saluti
Andrea

delvallo
Inviato: Thursday, February 16, 2006 10:20:38 AM
Rank: Member

Iscritto dal : 10/18/2003
Posts: 14
Si perfetto mi serve questa macro, sia un riepilogo generale che suddiviso in trimestri aspetto tue notizie. Grazie sempre
a10n11
Inviato: Thursday, February 16, 2006 11:08:38 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
crea nel tuo file i seguenti foglio:
fattura/riepilogo/1trim/2trim/3trim/4trim

La macro che registra i dati della fattura prima sul foglio riepilogo e poi in base alla data nei fogli suddivisi per trimestre è la seguente:
NB. fa attenzione ai simboli di maggiore minore che troverai trasformati in parentesi tonde.

Sub registra()
With Sheets("riepilogo")
riga = 2
While .Cells(riga, 1) () "" 'attenzione ai simboli di maggiore/minore
riga = riga + 1
Wend
.Cells(riga, 1).Value = Range("f9").Value
.Cells(riga, 2).Value = Range("a10").Value
.Cells(riga, 3).Value = Range("e3").Value
.Cells(riga, 4).Value = Range("e23").Value
.Cells(riga, 5).Value = Range("e24").Value
.Cells(riga, 6).Value = Range("e25").Value
End With
riga = 2
mese = Month(Range("a10"))
If mese )= 1 And mese ( 4 Then 'attenzione ai simboli di maggiore/minore
ws = "1trim"
ElseIf mese )= 4 And mese ( 7 Then 'attenzione ai simboli di maggiore/minore
ws = "2trim"
ElseIf mese )= 6 And mese ( 10 Then 'attenzione ai simboli di maggiore/minore
ws = "3trim"
ElseIf mese )= 9 And mese ( 13 Then 'attenzione ai simboli di maggiore/minore
ws = "4trim"
End If
With Sheets(ws)

While .Cells(riga, 1) () "" 'attenzione ai simboli di maggiore/minore
riga = riga + 1
Wend
.Cells(riga, 1).Value = Range("f9").Value
.Cells(riga, 2).Value = Range("a10").Value
.Cells(riga, 3).Value = Range("e3").Value
.Cells(riga, 4).Value = Range("e23").Value
.Cells(riga, 5).Value = Range("e24").Value
.Cells(riga, 6).Value = Range("e25").Value
End With
End Sub

saluti
Andrea

delvallo
Inviato: Thursday, February 16, 2006 11:56:06 AM
Rank: Member

Iscritto dal : 10/18/2003
Posts: 14
Ciao Andrea ho adattato la tua macro alla mia fattura ma mi da un errore dicendomi else senza if cosa faccio?
a10n11
Inviato: Thursday, February 16, 2006 12:38:26 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve.
se hai ricopiato pari pari la macro sostituendo tutte le parentesi tonde che devono essere simboli di maggiore minore, non ci sono errori.
le condizioni If sono correttamente posizionate e chiuse.
se mi dici dove mandadartelo ti mando un file di testo con la macro.
saluti
Andrea

delvallo
Inviato: Thursday, February 16, 2006 1:05:30 PM
Rank: Member

Iscritto dal : 10/18/2003
Posts: 14
delvallo78@tin.it, grazie tante
delvallo
Inviato: Thursday, February 16, 2006 8:01:31 PM
Rank: Member

Iscritto dal : 10/18/2003
Posts: 14
Andrea tutto risolto sempre grazie a te, hai dei programmi fatti in excel dove io possa imparare ad usare le macro? Se si mandameli nella mia mail mi serviranno a studiare le macro, grazie.
a10n11
Inviato: Friday, February 17, 2006 9:47:10 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve.
per avvicinarsi al mondo VBA in excel, necessita prima di tutto conoscere i fondamentali del linguaggio (di guide da scaricare in rete ne trovi tantissime)
Un sito che aiuta moltissimo all'apprendimento delle macro Excel l'ha realizzato Rèmi un amico di comunità microsoft in cui mette a disposizione un gran numero di macro per una infinità di impieghi. scorrilo attentamente.
http://remigueudelot.free.fr/PHP/VBAit.php

saluti
Andrea

mblu
Inviato: Saturday, February 18, 2006 10:34:53 AM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Salve,
chiedo scusa se mi intrometto nella vostra interessante discussione. Volevo sapere come fare per insire un pulsante (nel caso specifico sul foglio fattura) associato ad una macro. Ho crato la stessa macro ma devo andare ogni volta sul menu per eseguirla. Inoltre volendom posizionare le intestazioni del foglio riepilogo su diverse celle devo modificare il valore di a2:a100 ? Come ?

Grazie
ciao
a10n11
Inviato: Saturday, February 18, 2006 12:24:40 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
per creare un pulsante sul foglio questa è la procedura:
scopri la barra dei menu Moduli
da questa barra clicca sul modulo Pulsante e trascina il puntatore del mouse sul foglio per crearlo. Ti si aprirà una finestra che ti chiede di associarci una macro. seleziona la macro che in questo caso è stata chiamata registra e conferma con Ok.
quando cliccherai sul pulsante verrà eseguita la macro.
Per quanto riguarda il range a cui fai riferimento, A2:A100 identifica la colonna e le righe in cui sono registrati i numeri di fattura. Se nel tuo caso questi si trovano non in colonna A ma in colonna D cambia in D2:D100

saluti
Andrea

Edited by - a10n11 on 02/18/2006 12:25:31

mblu
Inviato: Sunday, February 19, 2006 12:47:06 PM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Ok.
Ma se volessi mettere un risultato per esempio in A2 ed un altro in C2, come andrebbe modificata la routine?
Chiedo scusa ancora dell'intrusione.
Ciao
a10n11
Inviato: Sunday, February 19, 2006 10:08:42 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
forse fai riferimento a questa parte della routine:

Riga = 2
While .Cells(riga, 1) () ""
riga = riga + 1
Wend
.Cells(riga, 1).Value = Range("f9").Value

ti spiego il significato di queste istruzioni.
Riga=2 significa che si prende come dato iniziale la riga nr. 2 del foglio di lavoro

While .Cells(riga, 1) () ""
riga = riga + 1
Wend
con le istruzioni di cui sopra si controlla che la riga 2 di colonna 1 (che sarebbe la cella A2) sia vuota se non lo è controlla la successiva. quando trova la riga vuota
con questa istruzione:
.Cells(riga, 1).Value = Range("f9").Value
ci copia il valore della cella F9 del foglio fattura.
quindi se si vogliono indicare colonne diverse dall'esempio del codice postato,
bast cambiare il valore di .cells()
.cells(riga,1) = A2
.cells(riga,2)= B2
.cells(riga,3)=C2
ecc.
se non ho capito il problema fa un esempio concreto del layout del tuo foglio.
saluti
Andrea



Edited by - a10n11 on 02/19/2006 22:09:21

Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.