|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2009
Città: Barletta (BT)
Messaggi: 22
|
calendario Excel con turni
Ciao a tutti, poichè non ho grande dimestichezza con Excel 2007 e per il mio lavoro ripetitivo da turnista (ah ... quanto mi piacerebbe avere il tempo per imparare) ho bisogno di aiuto per creare un calendario annuale, che ovviamente cambi in ragione del passaggio tra un anno e l'altro.
Praticamente, una volta stampato deve avere la struttura (tascabile) che riporto nel file in allegato, con le seguenti caratteristiche: 1) Domeniche (in rosso), 2) i turni S (sera) P (pomeriggio) M (mattina) N (notte) RIP (riposo) devono ripetersi dal 1 gen al 31 dic di continuo, in ragione dei giorni del mese. 3) un tasto a macro deve permettermi di variare l'anno, con le conseguenze su esposte sui turni/giorni. Qualcuno può aiutarmi in questo senso. Grazie mille. Nicola |
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
avevi scritto la formula per estrarre il giorno quasi corretta
ma come ANNO avevi messo $C$1 che non era giusto. la cella dove c'è l'anno è $B$1 correggi quella su tutto il foglio e ti prende il giorno dell'anno corretto. per la domenica in rosso: vai su conditional formatting, seleziona la parte che ti imposta il formato in base ad una FORMULA e scrivi: =weekday(b3)=1 (sorry ce l'ho in inglese e nn so di preciso come si chiami la formula in ita, ma è la stessa che hai usato nelle colonne nascoste non ho capito bene dove dici:"in ragione dei giorni del mese" cosa vuol dire? variano in base a qualcosa che non sia un puro susseguirsi normale? a qualche gg è previsto un particolare turno?
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
cmq se ti basta che siano in ordine:
1- definisci il nome "turni" per il range: Codice:
=Foglio1!$D$3:$D$33;Foglio1!$G$3:$G$30;Foglio1!$J$3:$J$33;Foglio1!$M$3:$M$32;Foglio1!$P$3:$P$33;Foglio1!$S$3:$S$32;Foglio1!$V$3:$V$33;Foglio1!$Y$3:$Y$33;Foglio1!$AB$3:$AB$32;Foglio1!$AE$3:$AE$33;Foglio1!$AH$3:$AH$32;Foglio1!$AK$3:$AK$33 Codice:
Sub turnazione()
Dim turni As Range
Dim Turno(), t As Variant
Turno = Array("S", "P", "M", "N", "RIP")
t = InputBox("Turno di partenza?" & vbCr & vbCr & "0 - S" & vbCr & "1 - P" & vbCr & "2 - M" & vbCr & "3 - N" & vbCr & "4 - RIP", "Seleziona il turno", "Inserisci il numero del turno")
For Each cell In Range("turni")
If t = 5 Then t = 0
cell.Value = Turno(t)
t = t + 1
Next cell
End Sub
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] Ultima modifica di zuper : 24-10-2009 alle 13:22. |
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1526
|
Senza togliere nulla a zuper, più tardi "controllo la macro" solo per imparare....
Mi permetto di fare alcuni accorgimenti. 1) Le scritte in verde le hai scritte TU (se sono categoriche), potresti farlo in automatico (a meno che la macro di zuper serva a questo) 2) Per l'anno ci sarebbero altre due modalità, salvi in ogni foglio un ANNO preciso (per me è la soluzione migliore), oppure potresti sempre farlo tramite bottone. Ps. Siccome mi piace e purtroppo sono impegnato (forse non ti servirà più), in novembre mi ripropongo per effettuarlo. |
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
1) le scritte in verde dei turni sono inserite automaticamente tramite la macro, con inputbox per stabilire il valore di partenza 2) l'anno basta cambiarlo nella cella b1, quella del titolo della tabella, e viene "concatenato" con il mese e il giorno (presi dal range A3:a33) non so perchè l'ha fatto così, ma serve alla sua funzione quindi va bene ;D funzione: =DATE($B$1;$A$3;A3) (anno,mese,giorno)
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
prende tutte le celle del range name "turni" e in ogni cella ci mette il valore t dell'array, partendo da quello immesso nell'input box, e quando arriva a 5 riparte da 0
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1526
|
Grazie delle spiegazioni.........
Ho sempre pensato che fino a 100 anni dovevo sempre imparare..... Excel, credevo di essere bravino......, tante volte mi ritrovo schiappa. Ciao |
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
abbiamo sempre qualcuno migliore davanti da cui imparare... per 1 volta che "insegno" qualcosa io...ce ne sono 100 in cui "imparo" da qualcuno
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
ho inserito il file
ti ho aggiunto il lancio della macro in automatico al variare della cella B1, quella dell'anno. ora basta che cambi quella e ti compare il popup per scegliere da che turno partire
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
#10 |
|
Junior Member
Iscritto dal: Jul 2009
Città: Barletta (BT)
Messaggi: 22
|
Perfetto ... ma il bisestile ?
Grande Zuper, è perfetto ... manca solo una cosetta:
non hai tenuto conto che ogni 4 anni Feb ha 29 giorni e non 28, così tutto scalerebbe da lì in poi, ma nella cella Feb 29 non c'è alcun valore. Ti dispiacerebbe modificare quel punto e reinviarmi il file ? Poi vorrei chiederti come devo fare per vedere in chiaro la macro che opera su tutto il file, in modo che possa studiarmela. Grazie mille ... sei un grande. |
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
uhm domani ci guardo. alt+f11 per entrare in vba
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
PS: ma non volevi imparare ad usare excel?
allora...apri il foglio...studia un pochino la macro (già c'è qualche indizio nei post precedenti ti dico "in teoria" come farei a risolvere l'anno, lascio a te la pratica 1- setta un altro range name che includa il 29 febbraio 2- in una cella anche nascosta usa questa funzione http://support.microsoft.com/kb/214019/it per vedere se bisestile 3- sdoppia il ciclo IF della macro con un altro IF che gli fa controllare se la cella del punto 2 restituisce bisestile o no dai la spiegazione nn è facilissima...ma farlo in pratica è facile buon lavoro!!
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
#13 |
|
Junior Member
Iscritto dal: Jul 2009
Città: Barletta (BT)
Messaggi: 22
|
risposta
Ancora grazie mille. PS: Ah dimenticavo ... per imparare excel conosci qualche guida ? |
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
dai provaci
dipende a che livello di excel sei dai un occhio a questa e vedi come vai http://www.tutorialpc.it/excelmenu.asp
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1526
|
Personalmente non sono capace con le macro....
(non ho ancora avuto tempo per vederla) Mi sono divertito a modificarlo in 10minuti, naturalmente non ha nessuna pretesa. Si copia il foglio Vuoto in un'altro foglio che chiameremmo "2009" Nella casella A1 (BLU) si mette il 1° turno dell'anno Nella casella D1 si mette l'anno Nelle caselle B3/B7 si può variare l'ordine dei turni (in pratica non dovrebbe mai cambiare durante l'anno) L'anno bisestile c'era già.............. Ps se non ho fatto stupidate dovrebbe essere a posto. |
|
|
|
|
#16 |
|
Member
Iscritto dal: Aug 2008
Messaggi: 178
|
Ho visto l'ultimo calendario postato e ti propongo delle modifiche cercando di mantenere un aspetto simile:
Tieni presente che:
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1526
|
Molto valido.....
Mi ristudio la tipologia della formula perchè è molto interessante. |
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Nov 1999
Città: Pistoia
Messaggi: 37438
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Feb 2008
Messaggi: 1526
|
Non desidero criticare, ma solo capire. Perchè non deve funzionare?
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:24.


















