IALweb Homepage
Forum Home Forum Home > MS Office > Microsoft Office > Microsoft Excel
  New Posts New Posts RSS Feed - [RISOLTO] Automatismo in base ad anno
  FAQ FAQ  Forum Search   Events   Register Register  Login Login


REGISTRATEVI su IALWeb forum!

[RISOLTO] Automatismo in base ad anno

 Post Reply Post Reply
Author
Message
il_betto View Drop Down
Veterano
Veterano
Avatar

Joined: 13/Giu/2011
Status: Offline
Points: 3542
Post Options Post Options   Thanks (0) Thanks(0)   Quote il_betto Quote  Post ReplyReply Direct Link To This Post Topic: [RISOLTO] Automatismo in base ad anno
    Posted: 13/Mar/2019 at 11:17
Ciao a Tutti,

ho il seguente file excel uploads/19358/test_Censimento.rar

in cui aggiungo durante l' anno nuovi utenti;
per ogni riga creata, in base ad ogni nuovo collega che viene assunto nel nostro servizio,
vi è una macro che calcola in automatico l' età e l' esperienza in azienda in base alla data di nascita e di assunzione che scrivo.

Fin qui tutto OK !!

Il problema nasce all' inizio di ogni nuovo anno.
Tutti i dipendenti che figurano già nel file NON hanno l' aggiornamento automatico nè dell' età nè dell' esperienza lavorativa in quanto già presenti nel Foglio.

Pertanto dovrei, riga x riga, dare un invio su ogni nominativo per far sì che avvengano gli aggiornamenti dei presenti.

Nel file riportato ho fatto un esempio semplificato: in realtà gli utenti sono tanti e non è possibile fare riga x riga.

Ci può essere un qualche automatismo intelligente per risolvere il problema ?

Grazie mille in anticipo !!!


Edited by il_betto - 03/Apr/2019 at 17:44
Back to Top
Sponsored Links


Back to Top
dodo47 View Drop Down
Moderatore
Moderatore
Avatar

Joined: 29/Dic/2008
Location: Italy
Status: Offline
Points: 11685
Post Options Post Options   Thanks (0) Thanks(0)   Quote dodo47 Quote  Post ReplyReply Direct Link To This Post Posted: 13/Mar/2019 at 12:21
Ciao
potresti utilizzare l'evento Open del documento che ricalcola tutte le età.

Quindi creare una macro quasi uguale a quella che hai, inserendo un loop per ciascuna riga della tabella.

Saluti
domenico
win 10- office 2016
Back to Top
il_betto View Drop Down
Veterano
Veterano
Avatar

Joined: 13/Giu/2011
Status: Offline
Points: 3542
Post Options Post Options   Thanks (0) Thanks(0)   Quote il_betto Quote  Post ReplyReply Direct Link To This Post Posted: 13/Mar/2019 at 15:22

Ciao dodo, grazie mille, provo e poi ti dico ...
Back to Top
il_betto View Drop Down
Veterano
Veterano
Avatar

Joined: 13/Giu/2011
Status: Offline
Points: 3542
Post Options Post Options   Thanks (0) Thanks(0)   Quote il_betto Quote  Post ReplyReply Direct Link To This Post Posted: 03/Apr/2019 at 15:28
Allego il file che ho fatto e che funziona !!

uploads/19358/test_Censimento4.rar

Penso di non essere stato ridondante nel codice ....
Back to Top
dodo47 View Drop Down
Moderatore
Moderatore
Avatar

Joined: 29/Dic/2008
Location: Italy
Status: Offline
Points: 11685
Post Options Post Options   Thanks (0) Thanks(0)   Quote dodo47 Quote  Post ReplyReply Direct Link To This Post Posted: 03/Apr/2019 at 16:02
Se hai 1 solo foglio si, ma se ne hai di più e il documento viene salvato stando su un altro foglio diverso da "Personale"...no.

(hai eliminato la colorazione in base all'età?)

saluti
domenico
win 10- office 2016
Back to Top
il_betto View Drop Down
Veterano
Veterano
Avatar

Joined: 13/Giu/2011
Status: Offline
Points: 3542
Post Options Post Options   Thanks (0) Thanks(0)   Quote il_betto Quote  Post ReplyReply Direct Link To This Post Posted: 03/Apr/2019 at 16:18
Certo dodo, in questi gg consultandomi con le colleghe abbiamo deciso di semplificare togliendo la colorazione dell' età (si è preso spunto da ciò che sta succedendo in politica con età pensionabile diversa dai 67 anni)

Hai ragione, hai notato che salvando su un altro foglio, l' aggiornamento sul foglio "Personale" non avviene, non me me ero accorto ...

Ho provato allora a far così:

Sub Workbook_Open()

   Dim CEns As Long, CNomi As Long, CPos As Long, CStud As Long
   CEns = Application.Match("Ruolo Census", Sheets("Personale").Rows(1), 0)
   CNomi = Application.Match("Nominativo", Sheets("Personale").Rows(1), 0)
   CPos = Application.Match("Posizione", Sheets("Personale").Rows(1), 0)
   CStud = Application.Match("Titolo di studio", Sheets("Personale").Rows(1), 0)
   
   Application.ScreenUpdating = False
   Application.DisplayAlerts = False
   
   
   ' impongo lo Zoom al 100% di default
   Dim ws As Worksheet
   Dim lCol As Long, lRow As Long
   Dim cel As Range, rng As Range
   For Each ws In Worksheets
       ws.Select
       ActiveWindow.Zoom = 100
   Next ws
   
  
   ' impongo che all' apertura del file, il 1° foglio attivo sia "Personale"

   Application.GoTo Sheets("Personale").[A1]
   Call Update_age_experience
   
   ' impongo l' allineamento a colonne con intestazione specifica
   ' formatto 1° riga: Calibri 14 Bold / bordo medio di ogni cella / background giallo
   ' formatto il resto del foglio fino all' ultima riga e colonna con valori: Calibri 12
   With Sheets("Personale")


pare che così funzioni ...



Edited by il_betto - 03/Apr/2019 at 16:34
Back to Top
dodo47 View Drop Down
Moderatore
Moderatore
Avatar

Joined: 29/Dic/2008
Location: Italy
Status: Offline
Points: 11685
Post Options Post Options   Thanks (0) Thanks(0)   Quote dodo47 Quote  Post ReplyReply Direct Link To This Post Posted: 03/Apr/2019 at 17:36
ok....
domenico
win 10- office 2016
Back to Top
il_betto View Drop Down
Veterano
Veterano
Avatar

Joined: 13/Giu/2011
Status: Offline
Points: 3542
Post Options Post Options   Thanks (0) Thanks(0)   Quote il_betto Quote  Post ReplyReply Direct Link To This Post Posted: 03/Apr/2019 at 17:44
Grazie come sempre x l' aiuto !!! Clap  Smile
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.17
Copyright ©2001-2013 Web Wiz Ltd.

This page was generated in 0,078 seconds.