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

Scadenze con excel. Opzioni
mblu
Inviato: Wednesday, January 31, 2007 4:07:02 PM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Salve,

ho realizzato con excel diverse tabelle contenente calcoli e nominativi. Queste si articolano su più fogli.
Ogni foglio ha la caratteristica che determinati calcoli e situazioni devono avverarsi entro una certa data ( per esempio tizio deve versare o avere una certa somma entro una certa data ) ; chiedo: è possibile creare per ogni foglio di lavoro un qualcosa che mi avverte della scadenza ? Per esempio nel foglio 1 ho inserito in una cella la data 15/02/2007 vorrei che qualche giorno prima di questa data qualcosa mi avvisasse della scadenza per esempio colorando, ma non so se è possibile, la linguetta del foglio 1 o altro sistema facilmente visibile però.

Vi ringrazio dell’aiuto.


Giuseppe
Sponsor
Inviato: Wednesday, January 31, 2007 4:07:02 PM

 
a10n11
Inviato: Wednesday, January 31, 2007 4:35:31 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
Che versione hai di Excel??
se la tua versione è 2002 o successiva si può fare colorando i Tab del foglio se precedente bisogna ricorrere ad altro comunque sempre via macro.
saluti
Andrea

mblu
Inviato: Wednesday, January 31, 2007 6:19:32 PM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Si, è la versione 2002 di excel.
I TAB sarebbero le linguette dei FOGLI ?

Giuseppe
a10n11
Inviato: Wednesday, January 31, 2007 7:19:37 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
i tab sono le linguette dei fogli:
Visto che hai la suite 2002 dovrebbe andart bene una macro di questo tipo:
Da inserire in ThisWorkbook nell'editor di VBA

Private Sub Workbook_Open()
x = Date
For Each ws In Worksheets
With ws
If .[a1].Value - x <= 5 Then
.Tab.ColorIndex = 3
Else
.Tab.ColorIndex = -4142
End If
End With
Next
End Sub


I riferimenti bisogna che li cambi secondo le tue esigenze, in questa macro ho fatto controllare il valore della cella A1 su ciascun foglio con la data del giorno e se la differenza è uguale o minore di 5 giorni ti colora la linguetta di rosso. NB. non avendo la versione 2002 non l'ho provata ma dovrebbe funzionare.

saluti
Andrea

mblu
Inviato: Thursday, February 01, 2007 7:04:01 PM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Ciao, non ho provato ancora perchè volevo chiederti come posso fare per inserire la macro in ThisWorkbook; inoltre visto che la scadenza riguarda più fogli, devo ripetere l'inserimento in ogno folgio ? Se la data di scadenza è messa in una cella diversa da A1 devo specificarla nella macro ?

Ti ringrazio dell'aiuto
Ciao
a10n11
Inviato: Thursday, February 01, 2007 7:36:32 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, non ho provato ancora perchè volevo chiederti come posso fare per inserire la macro in ThisWorkbook<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>

Fai un semplice copia incolla.
Copia la macro che ti ho postato, apri Excel
con Alt+F11 accedi all'editor di Vba
Nella finestra "Progetto-Vba project" trovi VBAProject(nome del tuo file)
nel menù a discesa troverai la voce "Thisworkbook" Fai un doppio clic su di esso e ti si aprirà a destra una pagina bianca sulla quale incolla il codice macro.



<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
inoltre visto che la scadenza riguarda più fogli, devo ripetere l'inserimento in ogno folgio ? <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>

No! la macro analizza tutti i fogli del file uno alla volta

<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
Se la data di scadenza è messa in una cella diversa da A1 devo specificarla nella macro ? <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>

Se la cella di confronto non è A1 ( ma deve essere nella stessa cella su tutti i fogli) devi cambiare questa riga:

<font color=red>If .[a1].Value - x <= 5 Then </font id=red>
dove al posto di A1 indichi la cella dove hai la data di confronto.

saluti
Andrea






mblu
Inviato: Monday, February 05, 2007 8:04:30 AM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Ho seguito alla lettera quanto specificato, ma i TAB non cambiano di colore. Probabilmente mi sfugge qualcosa....

Ti ringrazio comunque.
Ciao
a10n11
Inviato: Monday, February 05, 2007 9:38:36 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
fa un test con questa macro:

Sub Test()
ActiveSheet.Tab.ColorIndex = 3
End Sub

vedi se ti cambia il colore della linguetta in rosso.

Saluti.
Andrea

mblu
Inviato: Monday, February 05, 2007 9:49:29 AM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Nulla; non cambio di colore benchè abbia fatto il copia ed incolla come da te suggerito (nel thisworkbook). Premetto che uso la versione 2003 di excel.

Ciao
a10n11
Inviato: Monday, February 05, 2007 11:17:50 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
se clicchi con il pulsante destro sulla linguetta, ti consente di cambiare colore??
saluti
Andrea

mblu
Inviato: Tuesday, February 06, 2007 7:52:49 AM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Si, tramite "colore linguetta scheda" .

Ciao
a10n11
Inviato: Tuesday, February 06, 2007 11:52:25 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
se così funziona non capisco dove possa essere il problema.
Facciamo questa prova:
Apri Excel
Menu>Strumenti>Macro>Registra nuova macro
nella finestra di registrazione in memorizza, scegli "Questa cartella di lavoro"
clicca sulla linguetta del foglio e cambiagli colore.
Menu>Strumenti>Macro>Interrompi registrazione.
Con Alt+F11 accedi all'editor di VBA Troverai sulla sinistra una voce "Modulo1"
fai un doppio clic su di esso e vedrai la registrazione dell'operazione appena fatta. Copiala e postala qui che vediamo di trovare la soluzione.
saluti
Andrea


a10n11
Inviato: Tuesday, February 06, 2007 11:58:32 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
scusa mi viene un sospetto, Che tipo di protezione hai attivato per le macro??
Se la protezione è impostata su Alto, non vengono eseguite.
Controlla Menu Strumenti>Macro>Protezione
se è impostata su Alto mettila su media.
saluti
Andrea


mblu
Inviato: Tuesday, February 06, 2007 12:09:47 PM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Ecco la macro registrata:
Sub Macro1()
'
' Macro1 Macro
' Macro registrata il 06/02/2007 da Ufficio invalidi civili
'

'
Sheets("Foglio1").Select
ActiveWorkbook.Sheets("Foglio1").Tab.ColorIndex = 50
Sheets("Foglio2").Select
End Sub

La protezione per la macro era ed è attivata su bassa.

Ti ringrazio e scusami se ti stò dando dei problemi.
Ciao
Giuseppe
a10n11
Inviato: Tuesday, February 06, 2007 3:05:39 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
come puoi vedere le sintassi sono corrette.

Facciamo la prova inversa:
Riporta il colore della linguetta al colore standard
dopo di che lancia la tua macro1 e vedi se opera il cambiamento di colore.

Se tutto va bene riproviamo la macro iniziale costruendo un foglio con queste caratteristiche:
3 fogli visibili Foglio1-Foglio2- Foglio3
In ciascun foglio nella cella A1 scriviamo la data del 10/02/07
In ambiente Editor di VBA in ThisWorkbook ricopia la macro seguente:
Da inserire in ThisWorkbook nell'editor di VBA

Private Sub Workbook_Open()
x = Date
For Each ws In Worksheets
With ws
If .[a1].Value - x <= 5 Then
.Tab.ColorIndex = 3
Else
.Tab.ColorIndex = -4142
End If
End With
Next
End Sub

salva il file chiudi e riapri e vedi se la macro fa quanto dovrebbe

saluti
Andrea

Edited by - a10n11 on 02/06/2007 15:10:24

mblu
Inviato: Tuesday, February 06, 2007 5:32:23 PM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Tutto Ok !!! Ho riscritto la macro riavviato come mi hai consigliato ed al riavvio tutto ok : i TAB si sono colorati di rosso. Perfetto. Grazie Andrea .

Ciao
Giuseppe
mblu
Inviato: Thursday, February 08, 2007 12:07:18 PM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Variante al tema dell'oggetto: è possibile alla scadenza (anzicchè colorare i TAB del Foglio) far partire automaticamente una email ? Se ho inserito una data per es. in A1 20/02/2007 e desidero che due giorni prima (variabile) parta un email all'interessato avvisandolo per es. che la sua assicurazione auto sta per scadere. Sarebbe veramente interessante quanto utile realizzare un'apllicazione del genere, ammesso che sia realizzabile.

Saluti
giuseppe
a10n11
Inviato: Friday, February 09, 2007 12:14:33 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
Che gestore di posta usi?? O.E. oppure Microsoft Outlook.
Con OE l'uso dell'istruzione SendMail rende un po confuso l'inserimento del Corpo del messaggio con MS Outlook è sicuramente meglio.
saluti
Andrea

mblu
Inviato: Saturday, February 10, 2007 10:23:30 AM
Rank: AiutAmico

Iscritto dal : 6/28/2005
Posts: 58
Salve,
uso OE ; però se è più semplice posso cambiare e usare Microsoft outlook; devo solo configurarlo perchè non ho mai pensato di usarlo.

saluti
giuseppe
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.