Anthony47 ha scritto:La posizione delle immagini viene "aggiustata" appena il foglio viene "ricalcolato", prima vale la posizione in cui le immagini si trovavano al momento del salvataggio.
Se metti in qualche posizione del foglio la formula
=OGGI() allora il foglio si calcolera' all'apertura del file e la posizione dovrebbe risultare corretta.
Quanto al problema riscontrato su Gennaio e Febbraio, questo deriva da una discrepanza che del VBA rispetto a Excel:
-per Excel, il giorno "1" del sistema di calcolo delle date corrisponde al 1° genn 1900 e Feb 1900 viene considerato bisestile (mentre non lo fu). Questo comportamento fu inserito "per compatibilita' col Lotus 123" (che erroneamente considerava Feb 1900 bisestile)
-per il vba il giorno "1" e' 31-dic-1899 e Feb 1900 non e' bisestile; col risultato che per gen e feb del 1900 i calcoli fatti da Excel sono diversi da quelli fatti dal vba
Per convivere con questa discrepanza ho aggiunto /modificato alcune istruzioni nella Sub Lunazioni, come segue:
- Codice: Seleziona tutto
Sub Lunazione(nRow As Long, nCol As Long)
Dim dData As Date
Dim i As Long
Dim dCorr As Long '+++
dData = Sheets("CALENDARIO").Cells(nRow, nCol)
If dData < 60 Then dCorr = 1 Else dCorr = 0 '+++
dData = dData + dCorr '+++
' La Luna non si calcola nei giorni del mese successivo
If month(dData) <> month(Sheets("CALENDARIO").Range("PRIMODELMESE") + 2) Then Exit Sub 'MMM
' Trova per la data la Luna relativa
Dim c As Long
c = Range("FASILUNARI").Column
For i = Range("FASILUNARI").Row To Range("FASILUNARI").Row + Range("FASILUNARI").Rows.Count - 1
If Sheets("CALENDARIO").Cells(i, c) = dData - dCorr Then 'MMM
nLuna = Sheets("CALENDARIO").Cells(i, c + 1)
' trovata una luna (-1 indica "non cambiamento")
'etcetera etcetera
Le righe marcate +++ sono aggiunte; quelle marcate MMM sono modificate
Non pensi di modificare le date 25 Aprile e 2 Giugno, che in passato non erano festivi? E 11 feb e 19 mar, Ascensione e Corpusdomini che in passato erano festivi? Tanto per complicarti la vita, eh he...
Ciao
Ciao Anthony e grazie del tuo eccellente supporto, la spiegazione del problema su gennaio e febbraio mi ha lasciato di stucco, non avrei mai pensato una cosa del genere !! , ho quindi apportato le tue modifiche alla sub lunazioni e ora ovviamente funziona.
Per quanto riguarda il ricalcolo del foglio con la formula Oggi() oppure Adesso() le immagini continuavano a rimanere sfalsate, ho risolto con una piccola sub con evento activate messa nel foglio del calendario in cui ho inserito ActiveCell = Date , (la data lo posizionata in cella B2) e così funziona ma non capisco perchè la formula oggi/adesso sul foglio di calcolo non dà lo stesso risultato.
Poi in base al tuo suggerimento ho fatto la modifica sul 25 aprile e il 2 giugno, ho usato la formattazione condizionale e una colonna di servizio che ho chiamato "casi particolari" fra le colonne nascoste del foglio. ho sistemato anche l' Ascensione e il Corpus Domini, li ho aggiunti fra le festività impacchettandoli con la condizione SE.
Poi infine ho aggiunto una macro nel modulo2 per gestire le date sulle eclissi, quelle che si vedono sotto l'immagine della Bacall
Mi sembra funzioni tutto, ma se ci dai un' occhiata sono più tranquillo che non ci sono errori..... altre cose da aggiungere al momento non mi vengono in mente.
allego file con le ultime modifiche
Nel frattempo, ti auguro di passare un Buon 1° Maggio.
altrettanto agli utenti del forum.
http://www.filedropper.com/calendario1900-2070ciao