Formattazione vba



  • Formattazione vba
    di Iltoscano (utente non iscritto) data: 12/06/2011

    Ho una tabella in excel vorrei formattare le celle con diversi colori. mi spiego
    nell'intervallo di celle da a5 ag39ho convalidato le celle da un elenco (1c=mattino, 2b =pomerriggio g3=ferie fe =festivita, e cosi via,g4sono due tipi di giornata, f=festivita, fe =ferie, pr =permessi retribuiti, pn =permessi non retribuiti, m =malattia) vorreiche ogni cella venisse colorata con un colore diverso a seconda di quello che appare, ho trovato questo codice funziona con i numeri ma non con le sigle, aiutatemi
    distinti saluti e buon ponte a tutti
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim icolor As Integer
    
        If Not Intersect(Target, Range("A11:A509")) Is Nothing Then
    
            Select Case Target
                Case 1
                    icolor = 15
                Case 2
                    icolor = 5
                Case 3
                    icolor = 10
                Case 4
                    icolor = 6
                Case 5
                    icolor = 8
                Case 6
                    icolor = 7
                Case Else
                    'Whatever
            End Select
    
            Target.Interior.ColorIndex = icolor
        End If
    
    End Sub



  • di Mrt (utente non iscritto) data: 13/06/2011

    Cambia il codice come da esempio
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim icolor As Integer
    
        If Not Intersect(Target, Range("A11:A509")) Is Nothing Then
    
            Select Case Target
                Case "1c" 'scrivi tra virgolette quello che ti serve'
                    icolor = 15
                Case 2
                    icolor = 5
                Case 3
                    icolor = 10
                Case 4
                    icolor = 6
                Case 5
                    icolor = 8
                Case 6
                    icolor = 7
                Case Else
                    'Whatever
            End Select
    
            Target.Interior.ColorIndex = icolor
        End If
    
    End Sub
    


  • Formattazione vba
    di Iltoscano (utente non iscritto) data: 13/06/2011

    Sei un grande ho risolto il problema


  • Formattazione vba
    di Iltoscano (utente non iscritto) data: 13/06/2011

    Tutto funziona pero c'e' un problema che non capisco,quando metto la password per proteggere le celle mi da errore di compilazione come posso risolverlo, ammesso che la pw la devo mettere per far in modo che non vengano modificate alcune celle grazie infinite



  • di Mrt (utente non iscritto) data: 13/06/2011

    Semplice, il codice ti da un errore se cerchi di fargli modificare una cella protetta. qundi devi proteggere il foglio lasciando libere (non protette) le celle che devono essere modificate dal codice e proteggendo solo le altre.

    ciao