| | Post: 9 | Registrato il: 03/09/2015
| Città: CASTEL GANDOLFO | Età: 66 | Utente Junior | 2010 | | OFFLINE | |
|
03/01/2017 10:14 | |
Buongiorno a voi tutti,
espongo il mio problema. In un calendario, vorrei che una volta inserito l’anno desiderato(nel primo foglio), compaia nel foglio di Marzo o Aprile (in base alla data immessa)la casella colorata corrispondente al “lunedì di Pasqua”. Mi spiego meglio con un esempio.
Nel primo foglio inserisco la data 2017, con la funzione
=ARROTONDA.DIFETTO(DATA(D4;5;GIORNO(MINUTI(D4/38)/2+56));7)-34
estrapolo il giorno ed il mese e cioè il 16 aprile. Ora vorrei che Excel, mi colorasse nella scheda(foglio) di aprile lo sfondo della cella corrispondente al giorno 17.
Che funzioni devo utilizzare? Grazie e Buon anno
|
|
| | Post: 2.538 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
03/01/2017 11:29 | |
Ciao Halvin
Allega un file di esempio spiegando su questo cosa vuoi fare/ottenere.
Alfredo |
| | Post: 9 | Registrato il: 03/09/2015
| Città: CASTEL GANDOLFO | Età: 66 | Utente Junior | 2010 | | OFFLINE | |
|
03/01/2017 13:49 | |
Dunque, se scaricate il file uplodato (giusto un anno fa) http://www.freeforumzone.com/d/11225039/-/discussione.aspx potete capire meglio ciò che chiedo.
Vorrei fare in modo, che quando si inserisce la data voluta nella scheda “IMPOSTAZIONI” , in automatico si dovrebbe colorare di rosso la cella che corrisponde al lunedì seguente a Pasqua ( che può cadere o in marzo o in aprile) segnandola così come giorno festivo. Tutto chiaro? Grazie
|
| | Post: 2.542 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
03/01/2017 15:54 | |
Ciao Alessandro
Premetto che forse quello che io ho fatto con le macro si poteva realizzare anche con la formattazione condizionale ma io con questa non sono bravo.
In ogni caso ti allego il tuo file dove ho inserito le seguenti macro
vb Private Sub Worksheet_Change(ByVal Target As Range)
Dim mese As String
Dim mesi As Range
Set mesi = Worksheets("Foglio1").Range("a1:b12")
Application.ScreenUpdating = False
Call RipristinaColore
If Not Intersect(Target, Range("E5")) Is Nothing Then
mese = Application.WorksheetFunction.VLookup(Month(Range("h5").Value), mesi, 2, False)
Sheets(mese).Select
ActiveSheet.Cells(1, Day(Worksheets("IMPOSTAZIONI").Range("h5").Value + 3)).Select
ActiveCell.Interior.ColorIndex = 3
End If
Application.ScreenUpdating = True
Worksheets("IMPOSTAZIONI").Activate
End Sub
vb Sub RipristinaColore()
Dim i As Integer
Dim rng As Range
Dim cel As Range
For i = 1 To ThisWorkbook.Sheets.Count
Set rng = Sheets(i).Range("c1:ag1")
For Each cel In rng
If cel.Value = "lun" Or cel.Value = "mar" Or cel.Value = "mer" Or cel.Value = "gio" Or cel.Value = "ven" Then
cel.Interior.ColorIndex = xlNone
End If
Next cel
Next i
End Sub
La prima ogni volta che si cambia l'anno sul foglio "IMPOSTAZIONI" va a colorare di rosso il lunedì in albis di quell'anno e la seconda (che viene richiamata nella prima) provvede a ripristinare il colore (quando si cambia l'anno).
Prova e fai sapere se era questo quello che volevi.
Alfredo |
| | Post: 10 | Registrato il: 03/09/2015
| Città: CASTEL GANDOLFO | Età: 66 | Utente Junior | 2010 | | OFFLINE | |
|
03/01/2017 20:19 | |
Grazie Alfredo, appena posso provo e ti faccio sapere.
Grazie ancora
Alessandro |
| | Post: 11 | Registrato il: 03/09/2015
| Città: CASTEL GANDOLFO | Età: 66 | Utente Junior | 2010 | | OFFLINE | |
|
04/01/2017 20:35 | |
Ciao Alfredo,
ho provato la tua modifica utilizzando la macro, mo ho notato che dà dei problemi del tipo che se viene reinmessa una nuova data nel foglio "impostazioni" non cancella la festività ottenuta precedentemente, e ripetendo il cambio dell'anno, si creano degli "accavallamenti" delle festività.
Cercherò di risolvere con qualche formattazione condizionale (spero ).
In ogni modo ti ringrazio ancora della tua disponibilità.
Alessandro |
|
|