Il calendario



  • Il calendario
    di Nic82 data: 22/02/2010

    Ciao a tutti,
    per spiegarmi vi allego un esempio.
    ho il calendario del 2010 impostato come in allegato, devo evidenziare tutti i martedì e giovedì dell'anno. prendo come esempio il martedì.
    con il ciclo for vorrei selezionare un intervallo in corrispondenza della cella con la dicitura "ma". ora vorrei selezionare automaticamente in corrispondeza di ognuna di queste celle l'intervallo che ha come estremi la cella "ma" e la cella con offset 6,0 rispetto a questa.
    per esempio b4 = "ma" --> seleziona il range b4:b10 --> colora questo intervallo di giallo.
    in allegato l'esempio. aiutoo!
     
    Sub Martedì()
    
    For Each c In Worksheets("Foglio1").Range("A1:AE37")
    If c.Value = "ma" Then
    c.Select
    ...
    ....
    End If
    Next
    End Sub
    
    
    



  • di Rp71 (utente non iscritto) data: 22/02/2010

    E una semplicissima formattazione condizionale utilizzando l'opzione : "se la formula è" :

    =se(e(a$4="ma";a5<>0);1;0)
    > colora di giallo

    e poi la copi in tutte le celle ?
    blocchi la riga col $ ... tanto ho visto che i calendari sono allineati verticalmente ...

    bye
    r



  • di Rp71 (utente non iscritto) data: 22/02/2010

    Ho omesso il riferimento alla cella ...
    ovviamente la formula riportata è quella che va scritta nella formattazione condizionale della cella a5 ... poi "pennello" e via ...



  • di Nic82 data: 22/02/2010

    Non credo di averla capito non sono pratico delle formule condizionali e della loro sintassi...comunque se volessi procedere col vba sapreste indicarmi come proseguire la routine qui sopra?
    cioè la comodità del vba sarebbe che con una routine mi spazzola tutto il foglio, vede dove c'è "ma" ed in corrispondeza mi colora automaticamente il range da "ma" fino a 6 righe sotto senza dovere copiare/incollare una formula in tutto il foglio...

    grazie comunque per la risposta, scusa ma non mi sono molto famigliari le formule condizionali...



  • di Albatros (utente non iscritto) data: 24/02/2010

    Ciao
    albatros
     
    Sub Martedì()
    
    For Each c In Worksheets("Foglio1").Range("A1:AE37")
    If c.Value = "ma" Then
    c.Activate
    a = ActiveCell.Offset(6, 0).Address
    Range(ActiveCell, a).Select
    With Selection.Interior
    .Color = 65535
    End With
    End If
    Next
    End Sub
    



  • di Nic82 data: 24/02/2010

    Grazie 1000 albatros!