Condividi:        

Come nascondere I Numeri non Appartenenti Al Mese Deside

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Come nascondere I Numeri non Appartenenti Al Mese Deside

Postdi Maury170419 » 10/07/23 16:58

Ciao a tutti da Maurizio
Il mio problema e questo :
Con il foglio di Excel di Microsoft office 2019
Sto tentando di creare un calendario abbastanza semplice
A patto che si usasse la sua formattazione Condizionata ecc....!
Però visto che io non mi accontento mai quando si tratta di sfruttare la programmazione nel suo insieme , sono arrivato ad un punto che il mio calendario funziona bene; Con l'unica pecca che consiste nel fatto : Di dover Nascondere i numeri non appartenenti al mese selezionato.
Infatti attualmente se lo lascio sul mese Attuale , il mio calendario funziona a meraviglia.
Però se tento di spostare il numero del mese posizionato nella cella (D1) il mio Calendario mi posiziona i valori numerici (1,2,3,) ecc...!
nella parte bassa e non nella parte alta ; Tutto qui
E non capisco il perché
grazie a tutti coloro che vorranno darmi una mano in merito

Il mio link Per Scaricare il File di prova e Questo :
https://app.box.com/s/jpwsoouasct0k9pvhgn5dlxlqnnp4tby
Maury170419
Utente Senior
 
Post: 159
Iscritto il: 31/10/16 09:05

Sponsor
 

Re: Come nascondere I Numeri non Appartenenti Al Mese Deside

Postdi Anthony47 » 11/07/23 23:46

Come detto ieri sera ad altro utente in altra discussione, sono in viaggio e fino a domani sera non riesco a debuggare il tuo problema; ne puoi approfittare per descrivere sinteticamente l'approccio che hai usato. Nel frattempo ti faccio notare che i numeri iniziali (1-2-etc etc) se scritti nelle righe basse in realta' sono date del mese successive: prova ad esempio a settare il mese di Agosto e poi formattare come gg-mmm-aaaa la cella G10 (che contiene la scritta "1", e vedrai che la data e' 1-set-2023
Altra osservazione: il file che hai condiviso contiene una Sub Worksheet_SelectionChange, che pero' lei stessa crea "SelectionChanges" quindi diventa "recursiva" e fa crashare excel. Confermi che e' presente per sbaglio, visto che serve "solo" per mettere le formule nelle celle (che nel file sono ovviamente gia' presenti)?
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Come nascondere I Numeri non Appartenenti Al Mese Deside

Postdi Anthony47 » 13/07/23 01:33

Come detto nel mio messaggio precedente, la Sub Worksheet_SelectionChange presente nel file che hai allegato è da eliminare perche’ 1) non fa nulla di utile e 2) manda in crash Excel perche’ la macro innesca altri SelectionChange all’infinito anzi fino al crash.
Poi ho capito che non ti piace la formattazione condizionale ma preferisci lavorare con codice macro; allora, partendo dalla tua Sub ColoraNumeriMeseAttuale ho derivato questa Sub ColoraNumeriMeseAttualeA:
Codice: Seleziona tutto
Sub ColoraNumeriMeseAttualeA()
    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range
    Dim meseAttuale As Integer
    Dim i As Integer
   
    ' Imposta il riferimento al foglio di lavoro in cui si trovano i dati
    Set ws = ThisWorkbook.Sheets("Calendar")
   
    ' Imposta il riferimento al range di celle in cui si desidera applicare la formattazione condizionata
    Set rng = ws.Range("C6:I11") ' Aggiorna con il range di celle desiderato
   
    ' Ottieni il mese attuale
    meseAttuale = Month(ws.Range("A3").Value)
   
    ' Verifica le celle precedenti al mese attuale e applica la formattazione “trasparente”
    For Each cell In rng
        If Not Month(cell.Value) = meseAttuale Then
        ‘   Debug.Print cell.Address(0, 0), Format(cell.Value, "dd-mmm-yy")
            cell.Font.Color = RGB(255, 196, 0) ' Aggiorna con il colore Font desiderato
            cell.Interior.Color = RGB(255, 196, 0) ' Aggiorna con il colore Interior desiderato
        Else
            cell.Font.Color = RGB(0, 0, 0) ' Formattazione “visibile”
        End If
    Next cell
    ws.Range("C12").Value = VBA.Format(Date, "dddd d mmmm yyyy" & VBA.Format(Time, "  -  hh:mm:ss"))
End Sub

Avendo abolito la Sub Worksheet_SelectionChange rimane il problema di come avviare questa Sub ColoraNumeriMeseAttualeA, visto che le “caselle di selezione” con cui si imposta Anno e Mese del calendario non innescano nessun evento.
Si risolve tutto associando la macro direttamente alle due “caselle di selezione” presenti nel foglio:
-tenendo premuto il tasto Contr, clicca sulla prima “casella di selezione” (del Mese)
-tasto dx sulla casella selezionata; scegli AssegnaMacro, seleziona Sub ColoraNumeriMeseAttualeA dall’elenco di macro disponibili
-tasto Esc per deselezionare la casella
-ripeti il processo con la seconda casella di selezione (dell’Anno)

Prova e fai sapere...

D:\DDownloads\[Nuovo Foglio di lavoro di Microsoft Excel.xlsm]Calendar
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Come nascondere I Numeri non Appartenenti Al Mese Deside

Postdi Maury170419 » 25/07/23 14:32

Ciao Anthony
Scusami se ti rispondo solo ora al tuo post di delucidazioni in merito; Ma sono stato preso anche io con il mio lavoro .
Detto questo, ti ringrazio per il tuo suggerimento che come sempre è sublime nel suo insieme.
Però se è vero che i tuoi insegnamenti passati mi sono serviti moltissimo
E anche vero che nel frattempo sono riuscito a risolvere da me questo problema.
Pertanto ritengo concluso e risolto questo problema .
Comunque sia sempre che ti possa far piacere : Nel risolvere il tutto c'é molto dei tuoi insegnamenti
Grazie di tutto e Buone vacanze a te e famiglia con simpatia ed Amicizia da A.Maurizio
Maury170419
Utente Senior
 
Post: 159
Iscritto il: 31/10/16 09:05


Torna a Applicazioni Office Windows


Topic correlati a "Come nascondere I Numeri non Appartenenti Al Mese Deside":


Chi c’è in linea

Visitano il forum: Nessuno e 49 ospiti